Bąbelkowy sortowanie JavaScript

| | | |

Jak napisać bąbelkowy zaklęcie JavaScript

Czy masz listę wartości, które musisz posortować? Sortowanie baniek może być dla Ciebie. Sortowanie bąbelkowe porównuje sąsiednie elementy na liście i zamienia ich pozycje, jeśli nie są we właściwej kolejności.

W tym przewodniku omówimy, czym są bąbelki i jak działają. Zobaczymy, jak napisać sortowanie bąbelkowe w JavaScript, abyś mógł szybko zacząć korzystać z tego gatunku.

Zacznijmy!

Co to jest sortowanie bąbelkowe w JavaScript?

Rodzaj bąbelka lub „tłumienie sortowania” to prosty algorytm sortowania, który porównuje parę sąsiednich elementów na liście. Jeśli element nie jest w porządku, zamieniamy go na poprzedni. W przeciwnym razie element pozostaje w tym samym miejscu.

Tri Bubble ma swoją nazwę, ponieważ przewija listę i przesuwa wszystkie najważniejsze wartości „Ęã‚Ęãdo końca. Innym sposobem myślenia o tym jest to, że największe wartości „wybuchają” na końcu listy. Rodzaje bąbelków działają zarówno w kolejności rosnącej, jak i malejącej

Istnieją dwa rodzaje bąbelków: .. Zwykłe i zoptymalizowane

Zwykłe rodzaje bąbelków dokonują wszystkich możliwych porównań, nie ma znaczenia, czy tablica jest posortowana. Rodzaje zoptymalizowanych bąbelków przestają działać na końcu iteracji, jeśli nie nastąpiła zamiana.

Procedura JavaScript sortowania bąbelków

Zaczniemy od omówienia sposobu działania sortowania bąbelków, a następnie zaimplementuj go w JavaScript. Rozważ następującą listę elementów:

9 3 2 11

Na początek nasz gatunek , porównamy pierwszą i drugą liczbę. Jeśli pierwsza liczba jest większa od drugiej, zamieniamy elementy. W przeciwnym razie elementy pozostają w tej samej pozycji

9 jest większe niż 3 tak, że pozycje dwóch pierwszych elementów zamieniają się:

3 < / td> 9 12 2

To proces trwa do momentu porównania wszystkich elementów na liście.

9 nie przekracza 12, więc te elementy pozostają w tym samym miejscu. 12 jest większe niż 2, więc te elementy zamieniają się:

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

Nasza lista zaczyna wyglądać czystsze. Nasz algorytm powtórzył listę raz. Będzie tak dalej, dopóki nie zamówimy każdego przedmiotu. W następnej iteracji nasz program dokonuje następujących porównań:

  • czy 3 jest większe niż 9? Nie, nic się nie dzieje.
  • 9 jest większe niż 2? Tak, więc przedmioty się zamieniają.
  • 9 jest większe niż 12? Nie, nic się nie dzieje.

Po tej iteracji nasza lista wygląda tak:

< tr>
3 2 9 12 Jesteśmy prawie na miejscu. W następnej iteracji zamieniamy pierwsze dwa elementy, co daje nam kompletną uporządkowaną listę:

Udało się! Sklasyfikowaliśmy listę za pomocą sortowania bąbelkowego. Teraz nadchodzi trudna część:. Prace rozwojowe tego algorytmu w JavaScript

Jak napisać algorytm sortowania baniek w JavaScript

Możemy napisać algorytm sortujący bańki JavaScript. Zamierzamy stworzyć dwa rodzaje bąbelków: normalne sortowanie i optymalizację

zwykłego sortowania bąbelkowego

Zacznijmy od zdefiniowania funkcja JavaScript wykonująca nasze sortowanie bąbelkowe:

Ta funkcja akceptuje tablicę liczb i sortuje przy użyciu algorytmu bąbelkowego. Na początek algorytm tworzy pętlę , która przechodzi przez każdy element listy

Nasz kod używa atrybutu length tablicy do obliczenia długości listy. Następnie deklarujemy kolejną pętlę. Ta pętla dokonuje porównań między każdym elementem w listy.

Dla każdej iteracji naszej wewnętrznej pętli nasz program wykonuje instrukcję if. Ta instrukcja JavaScript if sprawdza, czy liczba po lewej stronie porównanie jest większe niż liczba po prawej stronie.W tym przypadku nasz program zamienia liczby.W przeciwnym razie nic się nie dzieje.

zwraca tablicę do programu głównego po ich posortowaniu.Wywołajmy naszą funkcję i podaj jest to przykładowa tablica:

Zadeklarowaliśmy Zgrywanie zmiennych JavaSc o nazwie numbersToSort zawierające cyfry, które chcemy uporządkować. Następnie wywołaliśmy naszą metodę sortItems() i przyjęliśmy tę zmienną jako parametr. To sortuje naszą listę. Nową uporządkowaną listę drukujemy w konsoli JavaScript przeglądarki :. [2, 3, 9, 11]

ZAMÓWIENIA naszego kodu w kolejności rosnącej. Możemy zmienić to zachowanie, zastępując wartość „większe niż”, aby uzyskać dostęp do naszej deklaracji „if” znakiem „minus”:

Prawie skończyliśmy! Zwiększmy wydajność naszego kodu, implementując bąbelek sortujący ze zmienną zamienioną.

zoptymalizowany bąbelek Sortuj

wprowadzono zoptymalizowany bąbelek Sortuj nową zmienną. Ta zmienna śledzi, czy wymiana odbyła się. Tri stop, jeśli nie nastąpiła zamiana

Aby uczynić naszą bańkę gatunkową bardziej wydajną, zastąpimy naszą zewnętrzną pętlę pętlą while:

Pętla while będzie wykonywana dopóki "swapped" nie będzie fałszywe. Domyślnie wartość „portmonetka” to prawda. W każdej iteracji naszej listy ustawiliśmy wartość „swapped” na false. Jeśli nastąpi zamiana, wartość „swapped” zwraca true

pozwala nam to śledzić, czy wymiana została wykonana w iteracji. Jeśli nie dokonano żadnej wymiany, oznacza to, że nasza lista jest posortowana. W takim przypadku możemy zatrzymać nasze sortowanie bąbelkowe.

Spróbuj użyć sortowania tego bąbelka:

Nasz kod zwraca:. [2, 3, 9, 11] lista jest posortowana. ten algorytm jest bardziej wydajny, ponieważ nie wykonuje niepotrzebnych porównań. jak tylko lista jest posortowany, algorytm przestaje działać.

Wnioski

Rodzaje bąbelków to łatwy sposób na sortowanie C porównaj listę sąsiednich elementów na liście lub zamień je, a jeśli nie są we właściwej kolejności.

Dostępne są bardziej wydajne rodzaje, takie jak sortowanie przez wstawianie lub sortowanie przez scalanie. Te typy są bardziej zaawansowane. Rodzaje bąbelków są zwykle najlepszym sposobem na rozpoczęcie nauki o algorytmach sortowania.

Więcej informacji na temat kodowania w JavaScript można znaleźć w naszym Jak uzyskać pomoc dotyczącą 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