Привет, я знаю, как реализовать простую пузырьковую сортировку для одномерного массива. Но с 2-мерными или многомерными вот где у меня проблемы.
До сих пор я использовал это для сортировки 1-мерных массивов, работает как шарм. Но в основном с целыми числами, а не со строками:
boolean sort;
do{
sort = true;
for (int i = 0; i < testarray.length - 1; i++){
if(testarray[i] > testarray[i+1]){
temp = testarray[i];
testarray[i] = testarray[i+1];
testarray[i+1] = temp;
sort = false;
}
}
}while(!sort);
// Descending Output
// for (int k = testarray.length - 1; k >= 0 ; k--){
// Ascending Output
for (int k = 0; k < testarray.length ; k++){
System.out.print(testarray[k] + ", ");
}
Предположим, у меня есть:
Номер клиента, Имя, Фамилия, Адрес
String customers[][] = {{"123", "John", "Doe", "Somewhere"}, {"007", "James", "Bond", "MI5"}, {"1337", "Lolcat", "Izgud", "Saturn"}}
Теперь я хочу выбрать сортировку после сортировки: номер клиента, имя, фамилия или адрес. И после этого я хочу вывести его по возрастанию или убыванию, в зависимости от того, что я хочу.
Я просто не знаю, как реализовать это с помощью пузырьковой сортировки. Я хочу остаться в пузырьковой сортировке, другого алгоритма сортировки нет, я хочу узнать, как работает пузырьковая сортировка в такой ситуации.
Для восходящих и нисходящих моя идея была бы: я мог бы сделать цикл if. Например if (asc == 1) then output ascending, else output descending
. Например, asc будет запрашиваться через консоль.
Любая помощь очень ценится.