Требуется помощь в сортировке пузырьков Java - PullRequest
0 голосов
/ 11 марта 2019

Добрый вечер,

Мой друг и мой друг попытались выяснить, почему программа не будет сортировать введенные нами имена, возможно, кто-то может намекнуть на это.

 public static void sortDatPlane(String Ref[]){


    int n = Ref.length;
    int k = 1;
    int j = n - 2;
    int i;

    while(k < n){
        i = 0;
        while (i <= j) {
            if(notInOrder(Ref, i, i+1)){
                swap(Ref, i, i+1);
            }
            i++;
        }
        k++;
    }

    for (String Ref1 : Ref) {
        System.out.println(Ref1);
    }

}

public static void swap(String Ref[], int i, int j){
        String temp = Ref[i];
        Ref[i] = Ref[j];
        Ref[j] = temp;
}

public static boolean notInOrder(String Ref[],int i, int j){
    return Ref[i].substring(0,1).compareTo(Ref[j].substring(0,1)) == 1;
}

1 Ответ

1 голос
/ 11 марта 2019

Как указано Кеном YN в комментариях, вы сравниваете только первые символы строк (substring(0, 1) делает это).Удалите эту часть, и она, вероятно, будет работать.

...