どうも、1 次元配列の単純なバブル ソートを実装する方法を知っています。しかし、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 は、たとえばコンソール経由で尋ねられます。
どんな助けでも大歓迎です。