Sortowanie insercji w C ++

Sortowanie insercji w C ++
SORTESERTION SORT to podstawowy algorytm organizacyjny lub podejście, które działa w taki sam sposób, że możesz ułożyć pokłady kart w dłoni. Asortyment jest podzielony na dwie części: jedna, która jest uporządkowana, a druga, która nie jest. Przedmioty z segmentu nieopisanego są oznaczone i znajdują się w zorganizowanym fragmencie we właściwej kolejności. SORT wstawienia będzie porównywać dwie kolejne wartości ze sobą, a ta metodologia jest bardziej skuteczna niż sort.

Zacznijmy od uruchomienia aplikacji Shell w Ubuntu 20.04 System z Ctrl+Alt+T. Po uruchomieniu utwórz plik C ++ w folderze domowym za pomocą instrukcji „dotyk” pokazanej na obrazie. Nazwij plik C ++ z rozszerzeniem „CC”. Następnie otwórz plik w dowolnym wbudowanym edytorze Ubuntu 20.04 System (i.mi. GNU Nano, tekst lub vim).

Przykład 1:

Zacznijmy od pierwszego przykładu, aby użyć sortowania wstawienia, aby sortować losową nieuznaną tablicę w kolejności rosnącej liczb. Zaczęliśmy nasz kod z włączeniem „bitów/stdc++.H ”standardowa biblioteka. Następnie dodaliśmy standardową „przestrzeń nazw” C ++ z krótkim słowem „używając” i „std”. Funkcja „sort ()” używa tablicy „a” i jej rozmiaru „n” do sortowania nieopisanej losowej tablicy na sortowaną za pomocą techniki sortowania wstawiania.

Zadeklarowaliśmy zmienną liczbową „klucz”, a pętla „for” jest w toku. Dopóki pętl.

Zainicjuj inną zmienną „J” z poprzednią wartością indeksu „i” i.mi. „J = i -1”. Nadchodzi pętla while. Podczas gdy poprzedni indeks „j” jest większy lub równy 0, a wartość przy indeksie „j” jest większa niż wartość przy zmiennej „klucz” i.mi. Wartość w indeksie „i” będzie nadal dodawać wartość przy indeksie „J” do indeksu „J+1”, który w rzeczywistości jest „i”. Wraz z tym indeks „J” spadnie o 1 i.mi. Wcześniej „J” stanie się „J”.

Po zakończeniu pętli While wartość w „J+1” przypisuje się wartość „klucz”. I.mi. w „I”. Aby to wyjaśnić, powiedzmy, jeśli i = 1 to j = 0. Jeśli więc wartość w „J” jest większa niż „klucz”, zamienimy wartość na „J” z następną wartością z rzędu.

Ta funkcja jest wykonywana przez funkcję main (), przekazując tablicę i jej specyficzną rozmiar w parametrach. Pętla „for” służy do iteracji wartości tablicy od indeksu 0 do ostatniego indeksu „n-1” tablicy. Na każdej iteracji każda wartość jest wyświetlana na powładzie za pomocą określonego indeksu tablicy dla konkretnej iteracji za pośrednictwem instrukcji Cout. Ostatnia instrukcja Cout służy do umieszczenia końca linii po wyświetlaniu całej tablicy „A” na skorcie.

Wykonanie tego kodu rozpoczyna się od metody Main (). Zainicjowaliśmy tablicę „A” typu liczb całkowitych z pewnymi wartościami liczb losowych. Ta tablica nie jest jeszcze posortowana. Otrzymujemy rozmiar tablicy za pomocą zmiennej „N” i stosujemy funkcję sizeof () w tablicy „A”.

Obiekt Cout służy do poinformowania użytkownika, że ​​program wyświetli oryginalną nieprojektowaną tablicę na ekranie. Funkcja „show” jest wywoływana przez przekazanie tablicy „A” i rozmiar „N”, aby wyświetlić losowo zamówioną tablicę. Następna instrukcja Cout jest używana, aby poinformować Cię, że program wyświetli posortowaną tablicę na powładzie za pomocą sortowania insercji.

„Sort ()” jest wywoływany przez przekazanie losowej tablicy „A” i jej rozmiar. Funkcja sort () sortuje tablicę, a funkcja show () wyświetla zaktualizowaną tablicę sortowaną „A” na ekranie powłoki naszego terminalu Linux. Ogólny kod jest teraz ukończony tutaj.

Po kompilacji naszego kodu nie mamy błędów. Wykonaliśmy nasz kod za pośrednictwem „./A.OUT ”Instrukcja pokazana poniżej. Niepustowa tablica została wyświetlona, ​​a następnie posortowana tablica jest w kolejności rosnącej za pośrednictwem sortowania wstawienia.

Przykład 2:

Rzućmy okiem na inny przykład sortowania wstawienia. W tym przykładzie nie będziemy używać żadnych funkcji sortowania zdefiniowanych przez użytkownika do sortowania insercji. Do jej wykonania użyjemy tylko funkcji main (). Tak więc otwieramy ten sam plik kodu i aktualizujemy kod. Dodaj standardową bibliotekę strumieniową standardową C ++ za pomocą słowa kluczowego „#Include”. „Standardowa przestrzeń nazw” jest zadeklarowana przy użyciu słowa kluczowego „Używanie”.

Rozpoczynamy funkcję main () typu liczb całkowitych i zainicjujemy tablicę liczb całkowitych „A” o rozmiarze 10 z 10 wartościami numerycznymi. Te elementy tablicy „A” są losowo umieszczone niezależnie od zamówienia. Instrukcja Cout służy do stwierdzenia, że ​​wyświetlimy listę przed jej sortowaniem. Następnie używamy pętli „For”, aby iterować wartości nieprojektowanej oryginalnej tablicy „A” do ostatniego elementu. Na każdej iteracji pętli „For” każda sama wartość indeksu z tablicy „A” jest wyświetlana na powładzie za pośrednictwem instrukcji „Cout”. Po tej pętli „dla” używamy kolejnej pętli „dla” do sortowania „wstawienia”.

Ta pętla „dla” jest inicjowana od „k = 0” do „k = 10”. Podczas gdy pętla itera się od 0 do 10 wskaźnika tablicy „A”, nadal przypisujemy wartość przy indeksie „K” tablicy „A” do nowej zmiennej liczby całkowitych „Temp”. Również dowiadujemy się, że poprzednik „J” wartości „K” za pomocą „K-1”. Pętla „While” jest tutaj, aby sprawdzić, czy indeks poprzednika „J” jest większy niż 0, a wartość na zmiennej „Temp” jest mniejsza lub równa wartości poprzednika „J” tablicy „A”.

Jeśli ten warunek spełnia, wartość poprzednika jest przypisana do następnego poprzednika „J”.mi. „J+1”. Wraz z tym nadal zmniejszamy indeks poprzedniej I.mi. poruszanie się w kierunku do tyłu. Po zakończeniu pętli While przypisujemy wartość „TEMP” do następnego poprzednika „J”. Po zakończeniu pętli „dla” wyświetlamy posortowaną tablicę „A”. W tym celu wykorzystujemy oświadczenie „cout” w pętli „for”. Kod jest zakończony tutaj i jest gotowy do użycia.

Opracowaliśmy plik kodu „Wstawienie.CC ”pomyślnie i wykonał plik za pomocą„./A.Out ”Instrukcja. Nieposortowana losowa tablica jest wyświetlana najpierw. Następnie posortowana tablica przez sortowanie wstawienia jest wyświetlana na końcu zgodnie z wynikami poniżej.

Wniosek

W tym artykule dotyczy użycia sortowania insercji do sortowania losowej tablicy w programie C ++. Omówiliśmy konwencjonalny sposób sortowania tablicy za pomocą sortowania wstawienia w pierwszych przykładach i.mi. Używanie sortowania, wyświetlania i funkcji sterownika Main (). Następnie wykorzystaliśmy nową metodę do wykonania sortowania insercji w funkcji jednego sterownika ().