冒泡排序 Javascript

| | | |

如何編寫 JavaScript 氣泡咒語

你有需要排序的值列表嗎?分類氣泡可能適合您。冒泡排序比較列表中的相鄰項目,如果它們的順序不正確,則交換它們的位置。

在本指南中,我們將討論什麼是氣泡以及它們是如何工作的。我們將了解如何在 JavaScript 中編寫冒泡排序,以便您可以快速開始使用這種類型。

讓我們開始吧!

什麼是 JavaScript 冒泡排序?

一種冒泡排序或“排序阻尼”是一種簡單的排序算法,它比較列表中的一對相鄰項目。如果一個元素不按順序排列,我們將這個元素與前一個元素交換。否則,該項目將保留在同一位置。

Tri Bubble 之所以得名,是因為它會滾動列表並將所有最重要的值“Äã”、“Äã”移到末尾。考慮這一點的另一種方法是,列表末尾的最大值“冒泡”。氣泡類型按升序和降序工作

有兩種氣泡類型:.. 常規和優化

常規氣泡類型可以進行所有可能的比較,如果一個數組被排序。如果沒有發生交換,則優化的氣泡類型會在迭代結束時停止運行。

冒泡排序 JavaScript 過程

我們將首先討論冒泡排序的工作原理,然後在 JavaScript 中實現一個。考慮以下元素列表:

9 3 2 11

開始我們的流派,我們將比較第一個和第二個數字。如果第一個數字大於第二個數字,我們交換元素。否則,元素保持在同一位置

9 更大比 3 使前兩個元素的位置交換:

3 < /td> 9 12 2

這個過程一直持續到列表中的所有項目都進行比較。

9 不超過 12,因此這些項目保持在同一個位置。12 大於 2,因此這些元素交換:

< table class = "wp-bloc en table-info table">
3 9 2 12

我們的列表開始看 清潔器。我們的算法重複了這個列表一次。它將繼續這樣做,直到我們訂購每件商品。在下一次迭代中,我們的程序進行以下比較:

  • 3 大於 9?不,什麼都沒有發生。
  • 9 大於 2?是的,所以項目交換。
  • 9 大於 12?不,什麼都沒有發生。

在這個迭代之後,我們的列表看起來像這樣:

< tr>
3 2 9 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 幫助.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method