第三章:數組[5常見算法]--[9排序]--[冒泡排序]

①圖解

 

②實例

public static void bubbleSort(int[] arr){web

       for (int x = 0; x < arr.length - 1; x++) {數組

           for (int y = 0; y < arr.length - 1 - x; y++) {spa

               if (arr[y] > arr[y + 1]) {code

                   int temp = arr[y];orm

                   arr[y] = arr[y + 1];blog

                   arr[y + 1] = temp;排序

               }ci

           }字符串

       }it

}

 

說明:冒泡排序是兩兩之間進行對比,   如:4.2.5.1.7   :第一次內循環、4和2比-->2,4 、4和5比-->4,五、5和1比-->5,一、5和7比-->5,7。

    這樣最大的一個數就到了數組的最後,第二次進行比對的時候只要比數組長度-2次,就是<arr.length-1,便可獲得次大的數,放在倒數第二的位置,如此反覆獲得排序後的數組。

 

③練習

/*

* 把字符串中的字符進行排序。

* 舉例:"dacgebf"

* 結果:"abcdefg"

*/

public class ArrayTest {

  public static void main(String[] args) {

       // 定義一個字符串

       String s = "dacgebf";

       // 把字符串轉換爲字符數組

       char[] chs = s.toCharArray();

       // 把字符數組進行排序

       bubbleSort(chs);

       //把排序後的字符數組轉成字符串

       String result = String.valueOf(chs);

       //輸出最後的字符串

       System.out.println("result:"+result);

   }

   // 冒泡排序

   public static void bubbleSort(char[] chs) {

       for (int x = 0; x < chs.length - 1; x++) {

           for (int y = 0; y < chs.length - 1 - x; y++) {

               if (chs[y] > chs[y + 1]) {

                   char temp = chs[y];

                   chs[y] = chs[y + 1];

                   chs[y + 1] = temp;

               }

           }

       }

   }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章
相關標籤/搜索