<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 17.6.1.數組的排序問題 常用的排序函數:sort, rsort, asort, arsort 數組排序函數大全: ![](https://img.kancloud.cn/bb/f7/bbf7957736a36b672f4c0d916d24fca2_934x517.png) ``` $arr1 = array("a"=>8, "b"=>2, "c"=>5, "x"=>3, "e"=>6); sort($arr1); //排好了!由低到高,結果為:[2, 3, 5, 6, 8] rsort($arr1); //排好了!由高到低,結果為:[8, 6, 5, 2, 2] ``` ## 17.6.2.冒泡排序算法 原理: 遍歷一個數組,在此過程中,將相鄰的兩個單元的值進行比較:如果前面的比后面的大,則將兩個值交換位置。這個過程到最后,數組中的最大值一定放在最后位置了。 如果將上述過程再進行一遍,則又可以確定剩余數據中的最大值放在倒數第二的位置。 然后將上述過程繼續進行一遍,則可以繼續確定剩余數據中的最大值放在倒數第三的位置。 依次類推。。。。。。進行若干次,就排好了。 圖示: ``` 有數組:$arr1 = array(18, 22, 12, 15, 23, 9); ``` ![](https://img.kancloud.cn/dd/f8/ddf8664936431f0c6d80ed0a39d29095_939x188.png) 規律總結: 1,要進行從頭到尾兩兩比較并進行交換位置的趟數為$n-1趟,$n是總個數(數組長度) 2,每次都對相鄰的兩個數據進行大小比較,如果需要,就交換他們的位置! 3,每趟要比較的次數都比前一趟少1次,第一趟要比較的次數為:$n-1 代碼演示: ![](https://img.kancloud.cn/ce/48/ce4879f8dece701779aa9fe2e970b520_683x437.png) 交換原理如下: ![](https://img.kancloud.cn/8a/14/8a14d686b3b9aaa5ddba7b8328c0284f_580x246.png) ## 17.6.3.選擇排序算法 原理: 遍歷一個數組,在此過程中,找出數組中的最大值及其位置。然后將該最大值的單元,跟數組的最后一個單元“交換位置”,這樣進行一趟,數組中的最大值就一定放在最后位置了。 將上述過程中剩余的數據繼續遍歷一次,并做同樣的事情,則此時剩余部分的最大值也能夠放在剩余部分的最后位置——對整體而言就是倒數第二的位置。 依此類推。。。。。。。進行若干次,就排好了。 圖示: ``` 有數組:$arr1 = array(18, 22, 12, 15, 23, 9); ``` ![](https://img.kancloud.cn/f0/07/f0072d1bee87774841c55d4143ba208b_937x189.png) 規律總結: 1,要進行從頭到尾找出其中的最大值(及下標),并進行交換的趟數為$n-1,$n為數組長度 2,每一趟要做的事情是:a)找最大值,吧)并將該最大值跟這一趟的最后一項進行交換; 3,每一趟要從中找最大值的數據個數都比前一趟少1,其中第一趟有$n個。 代碼演示: ![](https://img.kancloud.cn/02/0c/020c59111ccf7450c35a8b253dd6394d_837x485.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看