1. 程式人生 > >java中得氣泡排序

java中得氣泡排序

1.依次比較相鄰的兩個元素,使得前面的元素比後面元素小;
2.第一次迴圈開始比較第一個元素和第二個元素,如果順序(前面小與後面)不對則交換;然後比較第二個元素和第三個元素;以此類推直到倒數第二個和最後一個比較完成;迴圈結束最後一個數就是陣列中最大的數;
注:比較次數比元素個數少一次;比如三個元素只比較兩次
3.第二次迴圈開始比較第一個元素和第二個元素,如果順序(前面小與後面)不對則交換;以此類推直到倒數第三個和倒數第二個比較完成;迴圈結束倒數第二個數就是陣列中第二大的數;
注:比較次數比元素個數少兩次;
4.重複對越來越少的元素進行相同的比較排序;直到沒有任何一對數字可以比較;完成排序;

程式碼參考;

int nums[]={9,4,7,3,6,8,1};
for(int i=0;i<nums.length-1;i++){  //排序次數
    for(int j=0;j<nums.length-1-i;j++){ //比較次數
        if(nums[j]>nums[j+1]){
            int b=nums[j];
            nums[j]=nums[j+1];
            nums[j+1]=b;
        }
    }
    System.out.println("第"+(i+1)+"次排序結果:"
); for(int k=0;k<nums.length;k++){ //輸出 System.out.print(nums[k]); } System.out.println(""); }

結果:
第1次排序結果:
4736819

第2次排序結果:
4367189

第3次排序結果:
3461789

第4次排序結果:
3416789

第5次排序結果:
3146789

第6次排序結果:
1346789

(〜^㉨^)〜