標籤:[] 總結 ble string bsp print 排序 col 一個
冒泡排序的思路:用相鄰兩元素比較,符合要求交換位置。
例子中使相鄰兩元素比較,大的放右邊,最終實現從小到大的排序。
第一步:首先實現一個數組中最大值在最右邊:
public static void main(String args[]){ int[] arr = {12,4,2,34,8}; //定義一個數組arr bubbleSort(arr); //調用方法bubbleSort System.out.println("排序後為:"); //列印最後結果 for(int i = 0;i<arr.length;i++){ System.out.print(arr[i]+","); } } public static void bubbleSort(int[] arr){ for(int i = 0; i<arr.length-1;i++){ if(arr[i]>arr[i+1]){ int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } }
列印出來如下:
排序後為:
4,2,12,8,34,
第二步:把第二大的值送到最後一位的左邊
添加程式碼片段如下:
for(int i = 0;i<arr.length-1-1;i++){ if(arr[i]>arr[i+1]){ int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } }
同樣,一次類推;最終可以達到將數字從小到大的排序;
總結我們的代碼,
public static void main(String args[]){ int[] arr = {8,34,4,2,12}; bubbleSort(arr); //定義方法bubbleSort System.out.println("排序後為: "); for(int i = 0;i<arr.length;i++){ System.out.print(arr[i]+","); } } public static void bubbleSort(int[] arr){ for(int j = 0;j<arr.length-1;j++){ //j用於控制輪數,只要length-1輪即可 for(int i = 0;i<arr.length-1-j;i++){ i用於控制兩個數字之間比較與交換 if(arr[i]>arr[i+1]){ int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } } }
排序後為:
2,4,8,12,34,
java冒泡排序的實現過程