氣泡排序--Java程式碼示例
阿新 • • 發佈:2019-02-02
package cn.wwz.test;
import java.util.Arrays;
/**
* 氣泡排序 假設有陣列:[26, 9, 94, 65, 96, 2]
* 利用雙層迴圈
* 步驟一:內層相鄰兩位相比 若左>右 則交換
* 第一次內層迴圈:26>9 互換 [9, 26, 94, 65, 96, 2] ... 直到[9, 26, 65, 94, 2, 96]
* 內層迴圈結束後即外迴圈執行一回後 最大的數字會置放到最右邊 -->96
* 接下來的每次內層迴圈 只會將最大的數字置放於右邊向左排放的位置
* --重複步驟一 但注意已經排到最大的那位不需要再去比較了
* @Author WWZ
* @Date 2017-11-20下午9:07:47
*/
public class BubbleSort {
public static void main(String[] args) {
int[] arr = new int[100];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random()*100)+1;
}
System.out.println("原始陣列:");
System.out.println(Arrays.toString(arr));
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-i-1; j++) {
if(arr[j]>arr[j+1]){
int t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
System.out.println("氣泡排序後的陣列:" );
System.out.println(Arrays.toString(arr));
}
}