<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                希爾排序(以發明者的名字命名),也稱 `遞減增量` 排序算法,是 `插入排序` 的一種更高效的改進版本。 實際思路: 1. 先拆分成N個組的子數組 2. 對每個子數組進行插入排序,讓子數組有序 3. 再拆分成 N 個子數組 4. 對每個子數組進行插入排序,讓子數組有序 .... 直到無法再拆分為止。 拆分原理: 第一次的跨度:用數組長度/2 第二次的跨度:上一次的跨度/2 直到跨度為0結束 前提:需要先對插入排序有較深的理解。 # 實現思路 ![](https://img.kancloud.cn/33/14/3314a70995c7363d2f900fa5a01470ed_1216x1348.png) # JavaScript ~~~ function shellSort(arr) { // 計算跨度 let gap = parseInt(arr.length/2) // 保存臨時數據 let tmp // 當跨度大于0時(跨度每次減半) while(gap>0) { /* 對每個跨度對應的組執行 “插入排序” */ // 插入排序是從第2 個元素開始向前面的比較 // 所以這里開始的元素是 gap (向后一個跨度)即第2個元素 for(let i=gap; i<arr.length; i++) { // 保存當前元素 tmp = arr[i] // 對同一跨度組的前面的元素進行比較 // 如果前一個元素大于這個元素,那么前一個 // 元素就向后挪一位,直到一個不大于當前元素的就退出循環(不需要再向前比較了) for(var j=i-gap;j>=0 && tmp<arr[j];j-=gap) { arr[j+gap] = a[j] } // 把當前元素放到不大于它的這個元素的后面 arr[j+gap]=tmp } // 跨度減小一半 gap = parseInt(gap/2) } return arr } ~~~
                  <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>

                              哎呀哎呀视频在线观看