Jak działa sortowanie
Teraz zrozumiemy działanie scalania z pomocą przykładu:
Rozważmy kolejny przykład sortowania sortowania, w którym mamy w sumie siedem (dziwnych) elementów w tablicy i sortujemy je w kolejności rosnącej:
[5, 7, 1, 4, 6, 3, 2]Podziel tablicę na dwa podwyrężanie
[5, 7, 1] i [4, 6, 3, 2]Ponownie każda tablica zostanie podzielona na dwa podmioty
[5], [7, 1] i [4, 6], [3, 2]Tutaj z czterech pod-pod-pod-nowoczesnych jeden podrzędny ma tylko jeden element, ale pozostałe trzy tablice wciąż mają więcej niż jeden element, więc dalej podzielimy każdą z tych tablic na dwie tablice.
[5], [7], [1], [4], [6], [3], [2]Teraz pierwszy krok jest zakończony, ponieważ każda tablica ma tylko jeden element. Teraz porównamy elementy tablicy i połączymy te tablice pojedynczych elementów z parami.
[5, 7], [1, 4], [3, 6], [2]Dokonujemy porównania między elementami macierzy pierwszych dwóch tablic i dwóch ostatnich tablic i przesuwamy mniejsze wartości na lewą stronę i większe wartości na prawą stronę.
Porównanie elementów pierwszych dwóch tablic i dwóch drugich tablic zostanie przeprowadzone. Na przykład pierwsze dwie tablice to [5,7] i [1,4]. 5 zostanie najpierw porównane do 1, a następnie do 4. Następnie drugi element, który wynosi 7, ulegnie tej samej procedurze, a wynikowy macierz wynosi [1,4,5,7]. Teraz poradzimy sobie z dwoma ostatnimi tablicami, które wynoszą [3,6] i [2]. Po porównaniu, jak dostajemy tablica [2,3,6].
[1, 4, 5, 7] [2, 3, 6]Teraz mamy dwie tablice; [1,4,5,7] i [2,3,6]. Nazwijmy je Arraya [1,4,5,7] I Arrayb [2,3,6] odpowiednio.
Po pierwsze, pierwszy element ”1" z Arraya zostanie porównane z drugim elementem ”2" z Arrayb i mniejsza liczba „1”Będzie przechowywany w nowej sortowanej tablicy
[1]W następnej iteracji „2”Będzie porównywany z następnym elementem”4" z Arraya. Mniejszy „2”Będzie przechowywany w nowej sortowanej tablicy.
[1,2]Tym razem „4” Arraya zostanie porównana z następnym elementem „3” Arrayb. Ponieważ „3” jest mniejsze, więc zostanie wprowadzony do nowej sortowanej tablicy.
[1,2,3]Ta procedura zostanie wykonana z każdym elementem obu tablic, a po porównywaniu wszystkich elementów wynikowy będzie macierz; [1,2,3,4,5,6,7].
[1, 2, 3, 4, 5, 6, 7]Scal sort w JavaScript
Jak dowiedzieliśmy się, jak działa sortowanie sortowania, będziemy go kodować w JavaScript.
Utwórz funkcję rekurencyjną, aby podzielić nieprojektowaną tablicę, nazwaliśmy ją „merge_sort". Funkcja rekurencyjna zawsze ma podstawowy przypadek, aby zatrzymać program. Przekazujemy nieprojektowaną tablicę do „merge_sort”Funkcja i wewnątrz tej funkcji znajdujemy środkowy indeks tablicy, dzieląc długość tablicy przez 2. Ponadto wykorzystujemy metodę „Splice ()”, aby podzielić tablicę na pod-podbrzeże.
funkcja merge_sort (unSortEdArray)Teraz omówimy kod, aby połączyć dwie dzielone tablice. Te dzielone tablice są już posortowane w funkcji „Merge_sort”, a teraz łączymy je w „Mergearrays”Funkcja.
Funkcja mergearrays (leftArray, prawyArray)W powyższej funkcji „LeftArray” i „RightArray” to dwie posortowane tablice i łączymy je, aby uzyskać pojedynczą tablicę posortowaną. W tym przykładzie stosuje się dwie metody: „The„naciskać()”Metoda dodania wartości na końcu posortowanej tablicy i„zmiana()„Metoda usuwania wartości wybranej z podrzędnej. Wreszcie konsola.Metoda log () służy do testowania wyjścia.
Pełny fragment kodu byłby taki:
Funkcja mergearrays (leftArray, prawyArray)Wyjście:
Wniosek:
Scal sort. W tym poście nauczyliśmy się koncepcji scalania, a następnie rozważaliśmy kilka przykładów, a na koniec wdrożyliśmy je w JavaScript. Wyjaśniliśmy również, jak działają metoda splice, metoda push i metoda przesunięcia w JavaScript.