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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 原理 對于一個數組,從中隨機選擇一個數字(一般選取第一個,當然也可以取中間的數,奇數與偶數取值不同,或者最后一個數為基準,這個不做要求),然后把整個數組中小于它的元素放在左側,大于它的元素放在右側,然后遞歸執行。 快速排序分三步: 1. 選基準:在數據結構中選擇一個元素作為基準(pivot) 2. 劃分區:參照基準元素值的大小,劃分無序區,所有小于基準元素的數據放入一個區間,所有大于基準元素的數據放入另一區間,分區操作結束后,基準元素所處的位置就是最終排序后它應該所處的位置 3. 遞歸:對初次劃分出來的兩個無序區間,遞歸調用第 1步和第 2步的算法,直到所有無序區間都只剩下一個元素為止 # 代碼 ``` // 取中間一個元素作為基準值 let quickSort = array => { if (array.length <= 1) { return array } let pivotIndex = Math.floor(array.length / 2) let pivot = array.splice(pivotIndex, 1)[0] let left = [] let right = [] for (let i = 0, length = array.length; i < length; i++) { if (array[i] < pivot) { left.push(array[i]) } else { right.push(array[i]) } } return quickSort(left).concat(pivot, quickSort(right)) } // 取第一個元素作為基準值 let quickSort = array => { if (array.length <= 1){ return array } let pivot = array[0] let left = [] let right = [] for(let i = 1; i < array.length; i++) { if (array[i] > pivot) { right.push(array[i]) } else { left.push(array[i]) } } return quickSort(left).concat(pivot, quickSort(right)) } /*console.log(quickSort([9, 4, 5, 1, 3, 2, 6, 8, 7]))*/ ```
                  <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>

                              哎呀哎呀视频在线观看