Komputery przetwarzają ciągi w operacjach na poziomie postaci i przechowują je w pamięci, podobnie jak każde Algorytm sortowania musi wziąć pod uwagę przepływ bajtów w ciągu, a także ich relacje numeryczne lub alfabetyczne. W tym artykule obejmie kroki w celu wdrożenia najczęstszych algorytmów sortowania dla ciągów C ++.
Sortowanie znaków ciągu C ++
Istnieje pięć metod sortowania ciągu, jak podano:
1: Sort
SORT SORT jest algorytmem sortowania opartego na porównaniu, który działa poprzez podzielenie danych wejściowych na dwie części: Sublist posortowany postacie i subliści nieposortowany postacie. Algorytm następnie przeszukuje nieprojektowany podatnik w poszukiwaniu najmniejszego elementu i umieszcza najmniejszy element w sortistach sortowanych postaci. Kontynuuje ten proces do momentu sortowania całego ciągu.
Do wdrożenia SORT SORT W C ++ użyjemy następujących kroków.
Krok 1: Utwórz pętlę, zaczynając od indeksu znaków I równy 0. Pętla zostanie razu iterowana przez ciąg.
Krok 2: Ustaw minimalny indeks na i.
Krok 3: Utwórz zagnieżdżoną pętlę, zaczynając od indeksu znaków j równych I+1. Pętla będzie iterowana przez pozostałe znaki w ciągu.
Krok 4: Porównaj postać w indeksie I z postacią w indeksie j. Jeśli znak w indeksie J jest mniejszy niż znak w indeksie I, ustawiamy minimalny indeks na j.
Krok 5: Po zagnieżdżonej pętli wymieniamy znak na minimalny wskaźnik z znakiem przy indeksie I.
Krok 6: Powtarzaj kroki 1-5, aż dotrzemy do końca ciągu.
Program wyboru podano poniżej:
#włączaćW powyższym kodzie odniesienie ciągów jest wysyłane do selekcja funkcja, która sortuje ciąg na miejscu. Iterowanie ciągu od bieżącej pozycji do końca, funkcja najpierw identyfikuje najmniejszy element w nieporozińcanej części ciągu. Element w obecnym miejscu w ciągu jest przełączany dla elementu minimalnego po jego ustaleniu. Ta procedura jest powtarzana dla każdego elementu łańcucha w zewnętrznej pętli funkcji, dopóki cały ciąg nie zostanie ułożony w kolejność niezdolną.
Wyjście
2: sortowanie insercji
Sortowanie przez wstawianie jest kolejnym algorytmem sortowania opartego na porównaniu i działa poprzez podzielenie danych wejściowych na posortowane i nieporządkowane części. Algorytm następnie itera przez nieprojektowaną część wejścia i dodaje element do jego prawidłowej pozycji, jednocześnie zmieniając większe elementy w prawo. Aby to zrobić, należy wykonać następujące kroki:
Krok 1: Utwórz pętlę, zaczynając od indeksu znaków I równa 1. Pętla zostanie razu iterowana przez ciąg.
Krok 2: Ustaw klawisz zmiennej równy znakowi w indeksie i.
Krok 3: Utwórz zagnieżdżoną pętlę, zaczynając od indeksu znaków J równa I-1. Pętla będzie iterowana przez posortowaną część łańcucha.
Krok 4: Porównaj znak na indeksie J z klawiszem zmiennym. Jeśli klawisz zmiennej jest mniejszy niż znak w indeksie J, zamieniamy znak na indeksie J z znakiem przy indeksie J+1. Następnie ustaw zmienną J równą J-1.
Krok 5: Powtórz krok 4, aż j będzie większy lub równy 0 lub klawisz zmiennej jest większy lub równy znakowi przy indeksie j.
Krok 6: Powtarzaj kroki 1-5, aż dotrzemy do końca ciągu.
#włączaćW tym kodzie dzielimy tablicę na posortowane i nieporządkowane podmioty. Następnie porównywane są wartości w komponencie nieporządkowanym i są sortowane przed dodaniem do posortowanego podatystę. Początkowy członek posortowanego tablicy zostanie uznany za sortowanego Sublistę. Porównujemy każdy element w Unsorted Sublist z każdym elementem w posortowanym podatystom. Następnie wszystkie większe komponenty są przenoszone w prawo.
Wyjście
3: Sort
Kolejną prostą techniką sortowania jest bańka, który nieustannie zmienia się w pobliskich elementach, jeśli są w niewłaściwej kolejności. Niemniej jednak musisz najpierw zrozumieć, czym jest bańka i jak funkcjonuje. Gdy następujący ciąg jest mniejszy ([i]> a [i+1]), sąsiednie sznurki ([i] i [i+1]) są przełączane w procesie sortowania pęcherzyków. Aby sortować ciąg za pomocą bańka W C ++ wykonaj następujące kroki:
Krok 1: Poproś o wejście użytkownika dla tablicy.
Krok 2: Zmień nazwy ciągów za pomocą „strcpy”.
Krok 3: Zagnieżdżone do pętli służy do przejścia i porównywania dwóch sznurków.
Krok 4: Wartości są przełączane, jeśli wartość ASCII jest większa niż Y+1 (litery, cyfry i znaki przydzielone do 8-bitowych kodów).
Krok 5: Zamiana trwa, aż warunek zwróci fałsz.
Zamiana trwa w kroku 5, aż warunek zwróci fałszywe.
#włączaćPowyższe Bańka Program wykorzystamy tablicę znaków, która może pomieścić 6 Strings znaków jako wejście użytkownika. „Strcpy” Zastosowano funkcję, w której nazwy ciągów są zamieniane w funkcji zagnieżdżonej. W stwierdzeniu IF, dwa ciągi są porównywane za pomocą „Strcmp” funkcjonować. A po porównaniu wszystkich ciągów wyjście jest wydrukowane na ekranie.
Wyjście
4: Szybki sort
Metoda podziału i podboju jest stosowana przez Szybki rodzaj Algorytm rekurencyjny w celu ułożenia przedmiotów w określonej kolejności. Metoda wykorzystuje podejście do podzielenia tej samej listy na dwie za pomocą wartości obrotowej, która jest uważana za pierwszego członka, a nie przy użyciu dodatkowego przechowywania dla Sublistów. Każdy element może być jednak wybrany. Po połączeniach z szybkie sortowanie, Lista jest podzielona za pomocą punktu partycji.
Krok 1: Najpierw wprowadź ciąg.
Krok 2: Dokonaj zmiennej PIVOT i przypisz ją do środkowego znaku ciągu.
Krok 3: Ustalić niższe i wyższe granice łańcucha jako dwie zmienne odpowiednio niskie i wysokie.
Krok 4: Zacznij podzielić listę na dwie grupy, jedną z znakami większymi niż element obrotu, a drugi z mniejszymi znakami, używając pętli i zamiany elementów.
Krok 5: Rekurencyjnie uruchom algorytm na dwóch połówkach oryginalnego ciągu, aby utworzyć posortowany ciąg.
#włączaćW tym kodzie deklarujemy pozycje początkowe i końcowe dwóch zmiennych 'początek' I 'koniec' które zostaną ogłoszone w stosunku do ciągu znaków. Tablica zostanie podzielona na pół w szybkie sortowanie() funkcja, a następnie za pomocą pętli do-podczas gdy elementy zostaną przełączone, a procedura będzie powtarzana do momentu posortowania ciągu. szybkie sortowanie() funkcja zostanie następnie wywołana z główny() funkcja i ciąg wprowadzony przez użytkownika zostaną posortowane, a wyjście zostanie wydrukowane na ekranie.
Wyjście
5: Funkcja biblioteki C ++
sortować() Funkcja jest dostępna w C ++ dzięki wbudowanemu algorytmowi funkcji biblioteki. Zrobimy szereg strun nazw i użyjemy wbudowanych sortować() Metoda, która sortuje ciągi za pomocą nazwy i rozmiaru tablicy jako argumentów. Składnia tej funkcji to:
sort (pierwszy iterator, ostatni iterator)gdzie wskaźniki początkowe i końcowe sznurka są odpowiednio pierwszymi i ostatnimi iteratorami.
W porównaniu z tym, że korzystanie z tej wbudowanej funkcji jest szybsze i łatwiejsze do wypełnienia niż opracowanie własnego kodu. Tylko nieopasowane ciągi mogą być sortowane za pomocą sortować() metoda, ponieważ wykorzystuje również algorytm szybkiego sortowania.
#włączaćW tym kodzie najpierw wprowadzimy ciąg przez użytkownika, a następnie ciąg zostanie posortowany za pomocą sortować() metoda, a następnie wydrukowana na ekranie.
Wyjście
Wniosek
Gdy sortowanie Postać w ciągu C ++, programista musi rozważyć typ sortowania odpowiedniego do zadania, a także rozmiar ciągu. W zależności od rozmiaru sznurka, insercja, bańka, sortowanie selekcji, szybkie sort lub sort () można użyć do sortowania znaków. To zależy od wyboru użytkownika, która metoda chcą wybrać.