• <nav id="dstbx"></nav>

    <nav id="dstbx"></nav>
    1. <form id="dstbx"></form>
    2. <small id="dstbx"></small>

      教育行業A股IPO第一股(股票代碼 003032)

      全國咨詢/投訴熱線:400-618-4000

      Java如何實現冒泡排序算法?【java培訓】

      更新時間:2020年05月20日11時29分 來源:傳智播客 瀏覽次數:

      冒泡排序是Java中非常經典的一種排序方法,可以將多個數字進行升序排序,效率比較高。

      一、冒泡排序的原理兩個相鄰的數比較大小,將兩個數中較大的數往右邊放,小的往左邊放。

      二、冒泡排序的圖解

      1.首先定義一個數組:int[] arr = {4,2,5,3,1}

      2.比較的圖解是這樣的:

      冒泡排序

      三、冒泡排序的思路解析依次比較前后兩個數的大小,如果后面的比前面的數小,那么直接將小的放在左邊,大的數放在右邊,以此類推

      例如我們定義的數組:int[] arr = {4,2,5,3,1}

      第一圈比較:

      1. 用arr[0]和arr[1]進行比較,那么2比4小,那么2往左邊移一位,4往右邊移一位;

      2. 然后用arr[1]和arr[2]進行比較,現在4比5小,所以不動

      3. 再用arr[2]和arr[3]進行比較,現在5比3大,所以將3往左邊移動一位,5往右邊移動一位

      4. 再用arr[4]和arr[4]進行比較,現在5比1大,所以將1往左邊移動一位,5往后邊移動一位,這樣就把最大的數放到了最右邊

      *現在通過比較并且移動之后,數組arr中的元素變成了{2,4,3,1,5}

      第二圈比較:

      1. 用arr[0]和arr[1]進行比較,那么2比4小,所以不用動

      2. 用arr[1]和arr[2]進行比較,那么4比3大,所以將3往左邊移動一位,4往右邊移動一位

      3. 用arr[2]和arr[3]進行比較,那么4比1大,所以將1往左邊移懂一位,4往右邊移動一位

      *由于最大的已經在最右邊了,所以不用和arr[4]進行比較了,現在通過第二圈比較之后的數組元素變成了{2,3,1,4,5}

      *注意,現在第二圈比較的次數少了一次

      第三圈比較:

      1. 用arr[0]和arr[1]進行比較,那么2比3小,所以不用動

      2. 用arr[1]和arr[2]進行比較,那么3比1大,所以將1往左邊移動一位,3往右邊移動一位

      *現在通過第三圈的比較,數組中的元素變成了{2,1,3,4,5}

      *注意,現在第三圈比較的次數又少了一次

      第四圈比較:

      1.用arr[0]和arr[1]進行比較,那么2比1大,所以將1往左邊移動一位,2往右邊移動一位

      *現在用過第四圈的比較,數組中的元素變成了{1,2,3,4,5},這樣就比較完成了。

      那么通過這4圈的比較,可以確定我們數組的長度為5,但是我們比較了4次,所以我們可以確定,我們循環比較了4 圈。所以,外層for循環可以確定為for (int i = 0, i < arr.length-1;i++)。

      四、形成代碼

      //冒泡排序
      public static void bubbleSort(int[] arr) {
      //功能
      //外層循環用來控制數組循環的圈數
        for (int i = 0; i < arr.length-1; i++) {
         //內層循環用來完成元素值比較,把大的元素值互換到后面
         for (int j = 0; j < arr.length-1-i; j++) {
          if (arr[j] > arr[j+1]) {
           int temp = arr[j];
           arr[j] = arr[j+1];
           arr[j+1] = temp;
         }
        }
      }

      五、總結以上是冒泡排序的具體思路分析,學習冒泡排序需要捋清楚其過程,主要是分析冒泡排序是怎么比較的。

      如果對java比較感興趣或者正在自學java可以了解傳智播客的中級java培訓課程


      猜你喜歡:

      JDK下載安裝與環境變量配置圖文教程【超詳細】

      什么是Java,Java有幾個技術平臺

      什么是java變量,java變量的定義

      冒泡排序算法[動圖介紹]

      神马影院我不卡,农村丰满肥熟老妇女,午夜电影网,2018日日摸夜夜添夜夜添 网站地图