1. 2つの隣接する要素を比較し、値が大きい要素を右に交換します。
2. 2つの隣接する数値を順番に比較し、10進数を前に、大きな数を後ろに配置します。つまり、最初のトリップでは、最初の数値と2番目の数値を比較し、大きな数値の前に小数を置きます。次に、2番目と3番目の数値を比較し、大きい数の前に小数を置きます。最後の2つの数値を比較するまで、大きい数の前に小数を置きます。すべての並べ替えが完了するまで、最初の手順を繰り返します。
3.最初の比較が完了した後、最後の数は配列内の最大数でなければならないため、2番目の比較中に最後の数は比較に参加しません。
2番目の比較が完了した後、最後から2番目の数値も配列の2番目に大きい数値でなければならないため、最後の2つの数値は3番目の比較中に比較に含まれません。
など
4.例:配列をソートするには:int [] arr = {6,3,8,2,9,1};
最初の並べ替え:
最初のソート: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つの比較が行われ、結果がソートされました。3 6 2 8 1 9
-------------------------------------------------- -------------------
2番目のパスでの並べ替え:
初回のソート: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つの比較が行われました。並べ替えの結果:3 2 6 1 8 9
-------------------------------------------------- -------------------
3番目のパスでの並べ替え:
最初のソート: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つの比較が行われました。並べ替えの結果:2 3 1 6 8 9
-------------------------------------------------- -------------------
4番目のソート:
初回のソート:2と3が比較され、2が3より小さい、位置を交換しない:2 3 1 6 8 9
2番目のソート:3と1が比較され、3が1より大きい場合、交換位置:2 1 3 6 8 9
2回目の旅行で合計2つの比較が行われ、結果がソートされました。2 1 3 6 8 9
-------------------------------------------------- -------------------
5番目のパスでの並べ替え:
最初のソート:2と1が比較され、2が1より大きい場合、交換位置:1 2 3 6 8 9
2回目の旅行で合計1つの比較が行われ、結果がソートされました。1 2 3 6 8 9
-------------------------------------------------- -------------------
最終結果:1 2 3 6 8 9
-------------------------------------------------- -------------------
5.コード
int[] arr = { 2, 8, 9, 6, 3, 1 };
int temp = -1;
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
System.out.println(Arrays.toString(arr));