最初にコードを投稿します(小から大部分にソート):
public class Bubblesort {public static void main(string args []){double [] a = {0,1,5,9,10,2,4,6,6,7,8、-3,0.4、-2.5}; for(int i = 0; i <a.length-1; i ++){//外側のループは、(int j = 0; j <a.length-i-1; j ++){//各トリップのソートされた時間を制御する(a [j]> a [j+1]){// 2つの数値的価値がjed jud num = a [j]; a [j] = a [j+1]; //大きな値を背面に交換しますa [j+1] = num; //小さな値を背面に交換}}}} for(double k:a){// foreach loop output system.out.println(k); } //(int k = 0; k <a.length; k ++){// loop // system.out.println(a [k]); //}}}注:大規模から小さいものにアレンジする必要がある場合は、IFステートメントのシンボルよりも大きいものを変更するだけです。
注釈:A.Length-1およびJ <A.Length-I-1
例:配列をソートするには:int [] arr = {6,3,8,2,9,1}; (注Source://www.vevb.com/article/68204.htm)
一次:(i)
最初の並べ替え:6と3の比較、6は3より大きく、スワップ位置:3 6 8 2 9 1
2番目のソート:6と8の比較、6は8未満、交換位置なし:3 6 8 2 9 1
3番目の注文:8と2の比較、8は2より大きい、スワップ位置:3 6 2 8 9 1
4番目の注文:8と9の比較、8は9未満、交換位置なし:3 6 2 8 9 1
5番目の注文:9と1の比較:9は1より大きい、スワップ位置:3 6 2 8 1 9
最初の旅行で合計5つの(j)比較が行われ、結果の並べ替え:3 6 2 8 1 9
二次注文:(i)
最初のソート:3と6の比較、3は6未満、スワップ位置なし:3 6 2 8 1 9
2番目の並べ替え:6と2の比較、6は2より大きい、スワップ位置:3 2 6 8 1 9
3番目の注文:6と8の比較、6は8を超え、交換位置なし:3 2 6 8 1 9
4番目の注文:8と1の比較、8は1より大きい、スワップ位置:3 2 6 1 8 9
2回目の旅行は合計4(j)時間で比較され、結果の並べ替え:3 2 6 1 8 9
3番目の注文:(i)
最初の並べ替え:3と2の比較、3は2より大きく、スワップ位置:2 3 6 1 8 9
2番目のソート:3と6の比較、3は6未満、スワップ位置なし:2 3 6 1 8 9
3番目の注文:6と1の比較、6は1より大きい、スワップ位置:2 3 1 6 8 9
2回目の旅行は合計3(j)時間で比較され、結果のソート:2 3 1 6 8 9
第4注文:(i)
最初のソート:2と3の比較、2は3未満、スワップ位置なし:2 3 1 6 8 9
2番目の並べ替え:3と1の比較、3は1より大きい、スワップ位置:2 1 3 6 8 9
2回目の旅行は、合計2(j)時間で比較され、結果の並べ替え:2 1 3 6 8 9
5番目の注文:(i)
最初のソート:2と1の比較、2は1より大きい、スワップ位置:1 2 3 6 8 9
2回目の旅行は合計1(j)時間で比較され、結果の並べ替え:1 2 3 6 8 9
最終結果:1 2 3 6 8 9