У меня есть быстрый и простой вопрос, на который я как-то не смог найти ответ.Как передать значение массива объекта методу
У меня есть метод quick_srt_int, который способен сортировать целочисленный массив, однако моя проблема заключается в том, что мой массив сформирован из объекта, и я хочу, чтобы иметь возможность сортировать массив из определенного значения sub (пожалуйста, исправьте меня о том, как это называется).
Просто, чтобы дать вам некоторое представление об этом, как объявляется массив.
student[index] = new Person(name, id, age, gpa);
Мне нужно, чтобы иметь возможность сортировать его по идентификатору, возрасту, и в GPa разное время, но не знаю, как передать значение. я предполагаю, что я должен был бы передать это так:
public void ageSort() {
quick_srt_int(student[].age, 0, student[].age.length - 1);
}
Пожалуйста, покажите мне, как это сделать должным образом.
Мне также нужно изменить метод быстрой сортировки для поддержки значений двойного типа, потому что gpa находится в двойной форме, и я не могу использовать его для сортировки.
Любая помощь очень ценится, большое вам спасибо.
Метод быстрой сортировки выглядит так:
public static void quick_srt_int(int array[], int low, int n) {
int lo = low;
int hi = n;
if (lo >= n) {
return;
}
int mid = array[(lo + hi)/2];
while (lo < hi) {
while (lo < hi && array[lo] < mid) {
lo++;
}
while (lo < hi && array[hi] > mid) {
hi--;
}
if (lo < hi) {
int T = array[lo];
array[lo] = array[hi];
array[hi] = T;
}
}
if (hi < lo) {
int T = hi;
hi = lo;
lo = T;
}
quick_srt_int(array, low, lo);
quick_srt_int(array, lo == low ? lo + 1 : lo, n);
}
Спасибо! Я попробую. :) –