int[] array = new int[]{55,33,22,66,11};
バブルの最初のラウンド
##array[2] =55 < array[3]=66 の場合、図③に示すように、条件が満たされず、要素の位置の順序は交換されません。
##array[3]=66 > array[4]=11、条件が満たされる場合、図④に示すように要素の位置の順序が交換されます;最初の「バブル」デモンストレーションは図に示すとおりです。
図④は、 「バブル」の 2 ラウンド目のデータの開始順序を示す棒グラフ;
##array[1 ]33 < array[2]=55、条件が満たされない場合、要素の位置の順序は図 5;
array[2]55 > array[3 ]=11 に示すように、要素は交換されず、条件が満たされ、要素の位置順序は次のようになります。
「バブル」デモンストレーションの 2 ラウンド目は、図 6 に示すとおりです:
3 ラウンド目
##array[0] =22 < array[1]=33、条件が満たされないため、図⑥に示すように要素の位置の順序は交換されません;
array[0]=22 > array[1]=11、条件が満たされる場合、「22」の位置順序を交換し、図 8 に示す「11」 ;
具体的なコードの実装
public class BubbleSort { public static void sort(int array[]) { //i表示第几轮“冒泡”,j 表示“走访”到的元素索引。 // 每一轮“冒泡”中,j 需要从列表开头“走访”到 array.length - 1 的位置。 for (int i = 0; i < array.length - 1; i++) { for (int j = 0; j < array.length - 1 - i; j++) { if (array[j] > array[j + 1]) { int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } }}
TestMain クラス
import java.util.Arrays;public class TestMain { public static void main(String[] args) { int[] array = new int[]{55, 33, 22, 66, 11}; //输出排序前的array数组 System.out.print("排序前:"); System.out.println(Arrays.toString(array)); //调用BubbleSort类中的sort方法对array数组进行排序 BubbleSort.sort(array); //输出冒泡排序后的array数组 System.out.print("排序后:"); System.out.println(Arrays.toString(array)); }}
排序前:[55, 33, 22, 66, 11]排序后:[11, 22, 33, 55, 66]
以上がJava でバブル ソートを実装するコードを記述する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。