冒泡排序+圖解


冒泡排序

輕的上浮,沉的下降,小的往前來,大的往后走.

兩個相鄰位置比較,如果前面的元素比后面的元素大就換位置.每比較一次,最后一次就不用再參與比較了.相鄰元素兩兩比較,大的往后放,第一次完畢,最大值出現在了最大索引處

圖解一:

 

圖解二:

 

 

 

案例:

  1. public class Demo1_Array {
  2.    public static void main(String[] args) {
  3.       int[] arr = {24, 69, 80, 57, 13};
  4.       bubbleSort(arr);
  5.       print(arr);
  6.    }
  7.    public static void bubbleSort(int[] arr) {
  8.       for (int i = 0; i < arr.length - 1; i++) { //外循環只需要比較arr.length-1次就可以了
  9.          for (int j = 0; j < arr.length - 1 - i; j++) { //-1為了防止索引越界,-i為了提高效率
  10.             if(arr[j] > arr[j+1]) {
  11.                swap(arr,j,j+1);
  12.             }
  13.          }
  14.       }
  15.    }
  16.    public static void print(int[] arr) {
  17.       for (int i = 0; i < arr.length; i++) {
  18.          System.out.print(arr[i] + "");
  19.       }
  20.    }
  21.  
  22.    /*
  23.     * 換位操作
  24.     * 1,返回值類型,void
  25.     * 2,參數列表int[] arr.int i,int j
  26.     */
  27.  
  28.    private static void swap(int[] arr,int i,int j) {
  29.       int temp = arr[i];
  30.       arr[i] = arr[j];
  31.       arr[j] = temp;
  32.    }
  33. }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM