<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之旅 廣告
                # 原理 依次比較相鄰的兩個值,如果后面的比前面的小,則將小的元素排到前面。依照這個規則進行多次并且遞減的迭代,直到順序正確。 # 性能 - 時間復雜度 平均O(n*n) 最好情況O(n) 最差情況O(n*n) - 空間復雜度 O(1) - 穩定性 穩定 # 示例 ``` let array = ['E', 'A', 'D', 'B', 'H'] let bubbleSort = (array) => { for (let i = 0, length = array.length; i <= length; i++) { for (let j = 0; j <= length - i; j++) { if (array[j] > array[j + 1]) { [array[j], array[j + 1]] = [array[j + 1], array[j]] } } } return array } console.log(bubbleSort(array)) ``` # 解析 兩個循環 當`i = 0`的時候,里面的循環完整執行,從`j = 0`執行到`j = 4`,這也就是第一遍排序,結果是將最大的數排到了最后,這一遍循環結束后的結果應該是`[ 'A', 'D', 'B','E','H']` 當`i = 1`的時候,里面的循環再次完整執行,由于最大的數已經在最后了,沒有必要去比較數組的最后兩項,這也是`j <= length - 1`的巧妙之處,結果是`[ 'A', 'B', 'D', 'E', 'H' ]` 說到這里,規律就清楚了,每次將剩下數組里面最大的一個數排到最后面,當第一個循環執行到最后的時候,也就是`i = 4`,此時`j = 0`,只需要比較數組的第一和第二項,比較完畢,返回。
                  <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>

                              哎呀哎呀视频在线观看