Быстрая сортировка объектов Java - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь отсортировать эти данные, но они не могут быть отсортированы

Метод класса

public static Object[] QuickSort(Object[] object, int a, int b) {
  Mahasiswa[] data = (Mahasiswa[]) object;
    if (a < b) {
    }
    else {
        Object pivot = object[a];
        int i = a + 1;
        Object tmp;
        for (int j = a + 1; j > b ; j++) {
            if (((Comparable)data[j]).compareTo(data[j-1])== 1) {
                tmp = object[j];
                object[j] = object[i];
                object[i] = tmp;
                i++;
            }
         }
        object[a] = object[i - 1];
        object[i - 1] = pivot;
        QuickSort(object, a, i - 2);
        QuickSort(object, i, b);
    }
    return data;
}

public static void QuickSort(Object a[]) {
    QuickSort(a, 0, a.length - 1);
}
}

Это основной класс.

public static void main(String[] args) {

    Mahasiswa[] data = {new Mahasiswa("Hotman   : ", 175314109),

    new Mahasiswa("Wawul    : ", 175314010),

    new Mahasiswa("Paris    : ", 175314087),

    new Mahasiswa("Rio      : ", 175314120),

    new Mahasiswa("Kartini  : ", 175314064)};

    Larik.QuickSort(data);

    for (int i = 0; i < data.length; i++) {
        System.out.println(data[i].getNama()+""+data[i].getNim());
    }
}
}

output

Hotman: 175314109

Wawul: 175314010

Paris: 175314087

Rio: 175314120

Картины: 175314064

BUILDУСПЕШНО (общее время: 0 секунд)

1 Ответ

0 голосов
/ 23 октября 2018

Вы звоните

QuickSort(a, 0, a.length - 1);

, а затем в этом методе вы выполняете

if (a < b) {

}

, что верно, поэтому сортировка не происходит.

посещение http://www.java2novice.com/java-sorting-algorithms/quick-sort/ для примера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...