冒泡排序和選擇排序區別

/*冒泡排序:每一次循環數值較小的的就能像氣泡一樣慢慢浮現出來  
* 兩層循環,第一層循環控制循環的次數, 第二層拿數組中的第二個數進行和第一層循環中的數進行比較,
 * */
        int[] nums = { 29, 13, 23, 10, 72, 41, 21, 77 };
        int temp = 0;
        for (int i = 0; i < nums.length - 1; i++) {
            for (int j = i + 1; j <= nums.length - 1; j++) {
                if (nums[i] > nums[j]) {
                    temp = nums[i];
                    nums[i] = nums[j];
                    nums[j] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(nums));

/*
 * 選擇排序:兩層循環,第一次是控制循環的次數,不拿數出來進行計較,
 * 第二次循環就是拿臨近的兩個數進行計較,第二次循環解決,最小數已經出來
 * */
        int[] nums = { 29, 13, 23, 10, 72, 41, 21, 77 };

        int temp = 0;
        for (int i = 0; i < nums.length; i++) {
            for (int j = 0; j < nums.length - 1; j++) {
                if (nums[j] > nums[j + 1]) {
                    temp = nums[j + 1];
                    nums[j + 1] = nums[j];
                    nums[j] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(nums));


/*

  * 冒泡是從第一個數開始,往下每個數進行比較,如果後面比前面小,就調換位置,這樣一趟下來就將最大的放到最後,
   * 選擇排序是將第一個數和後面的每個數進行比較,如果後面的比前面小,就兩個數調換位置,最後就將最小的數放在最前面

*/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章