12 我們快到了。在下一次迭代中,我們交換前兩項,這給了我們一個完整的有序列表: 我們做到了!我們使用冒泡排序對列表進行了分類。現在是棘手的部分:。該算法在 JavaScript 中的開發工作 如何在 JavaScript 中編寫一個算法冒泡排序我們可以編寫一個對 JavaScript 冒泡排序的算法。我們將創建兩種類型的冒泡:普通排序和優化 普通冒泡排序 讓我們從定義一個 JavaScript 函數 來執行我們的冒泡排序: 這個函數接受一個數字數組並使用冒泡排序算法進行排序。首先,該算法會創建一個 循環,它會遍歷列表中的每個元素 我們的代碼使用數組的length屬性來計算列表的長度,然後我們聲明另一個循環,這個循環對列表中的每一項進行比較 對於我們內部循環的每次迭代,我們的程序都會執行一個 if 語句。這個 JavaScript if 語句檢查是否左邊的數字a比較大於右邊的數字。在這種情況下,我們的程序交換數字。否則,什麼都不會發生。 排序後將數組返回給主程序。讓我們調用我們的函數並給出它是一個示例數組: 我們已經聲明 JavaSc 變量 ript 稱為 numbersToSort ,其中包含我們想要排序的數字。然後我們調用 sortItems () 方法 並採用該變量作為參數。這對我們的列表進行了排序。我們在瀏覽器的 JavaScript 控制台 中打印新的有序列表:。 [2, 3, 9, 11] ORDERS of our list code 按升序排列。我們可以通過用“減號”替換“大於”值來訪問我們的“if”聲明來改變這種行為: 我們快完成了!讓我們通過實現帶有交換變量的排序氣泡來使我們的代碼更高效。 優化氣泡排序 優化氣泡引入了一個新變量排序。此變量跟踪是否進行了交換。如果沒有發生交換,則三停止 為了讓我們的類型泡沫更有效,我們將用一個while循環替換我們的外部for循環: while 循環將一直執行,直到“swapped”為假。默認情況下,“錢包”的值為 true。在列表的每次迭代中,我們都將“已交換”的值設置為 false。如果發生交換,“已交換”的值返回 true 這使我們可以跟踪是否在一個迭代中進行了交換。如果沒有進行交換,則表示我們的列表已排序。在這種情況下,我們可以停止冒泡排序。 讓我們嘗試使用這個冒泡的排序: p> 我們的代碼返回:. [2, 3, 9, 11] 列表已排序。此算法更高效,因為它不執行不必要的比較。只要列表已排序,算法停止工作。 結論各種氣泡是對C排序的簡單方法比較列表中相鄰項的列表或交換它們,如果它們的順序不正確。 更有效的種類可用,例如插入排序或合併排序。這些類型更高級。氣泡類型通常是開始學習排序算法的最佳方式。 有關 JavaScript 編碼的更多信息,請閱讀我們的 如何學習 JavaScript 幫助. |