Sortieren Sie Zeichen einer Zeichenfolge in C ++

Sortieren Sie Zeichen einer Zeichenfolge in C ++
Das Sortieren einer Zeichenfolge wird als Organisation in einer aufsteigenden oder absteigenden Reihenfolge oder einer angegebenen Reihenfolge in C ++ angesehen. Dies ist nichts anderes, als die in einer geeigneten Reihenfolge oder gegebenen Reihenfolge angegebenen Zeichenfolgen zu erhalten, wenn die Zeichenfolgen in der angegebenen Reihenfolge sortiert sind. Die Ausgabe eines Sortierungsprogramms ist eine neu angeordnete Eingabe oder eine Permutation dieser Eingabe. In C ++ gibt es verschiedene Methoden zum Sortieren von Zeichenfolgen durch Implementierung von Sortieralgorithmen: Blasensorten, Insertionssortier, STL -Bibliotheken usw. Diese Methoden sortierten die Stringzeichen in aufsteigender oder abnehmender Ordnungen.

Methoden zur Sortierung von Zeichenfolge und Zeichen einer Zeichenfolge in C++

Es gibt verschiedene Sortierstrategien, um eine Zeichenfolge in einer bestimmten Reihenfolge zu arrangieren. Unter ihnen sind:

Blasenart

Einer der einfachsten Sortieralgorithmen in C ++ ist die Bubble -Sortierung. Die Saiten werden mit diesem Ansatz sortiert, indem die nahe gelegenen Saiten oder Zeichen in der Zeichenfolge verglichen werden. Tauschen Sie sie dann in der angegebenen Reihenfolge aus, die in C alphabetisch angeordnet sein könnte++.

Sortieren durch Einfügen

Der Algorithmus zur Einfügungssortierung wählt die Zeichen einzeln aus und fügt sie in die entsprechende Position ein. Jede Iteration der Insertions-Sortiermethode enthält ein Zeichen aus der angegebenen Liste und fügt sie in die sortierte Unterstring ein. Die Methode nimmt das Zeichen auf und fügt es abhängig vom ASCII -Wert in die richtige Position ein, während Sie alphabetisch sortieren.

Standardbibliotheksfunktion

Durch das Importieren der Header -Datei in unserem Code können wir die Sortiermethode aus der C ++ - Standard -Vorlagenbibliothek verwenden. Im Vergleich zum Erstellen des Codes ist die Verwendung dieser eingebauten Methode einfacher und schneller,.

Wir können auch std :: sort () in c verwenden++. Die STD :: Sort () ist eine Standard -Funktion der Standard -Vorlagenbibliothek (STL) in C++. Die Methode akzeptiert einen Anfang und einen End -Iterator und ist standardmäßig in aufsteigender Reihenfolge angeordnet. Durch die Übergabe eines Komparatorbetriebs, der einen Booleschen Rückgabereiter zurückgibt, kann die Methode auch für die spezifische Sortierung verwendet werden.

Beispiel 1

Die Sortierfunktion ist eine der einfachsten Möglichkeiten, den String -Zeichen zu sortieren. Das einzige, was erforderlich ist, ist nur, die Standardbibliothek von C zu importieren++. Der Code beginnt mit dem Importieren des Standards „STDC++.H ”Bibliothek im Header -Abschnitt. Die Bibliothek enthält alle Standardbibliotheksdateien. Der „Namespace STD“ ist ebenfalls im Code enthalten.

Nach dem Header -Abschnitt haben wir eine Hohlraumfunktion als „MyString“ erstellt und eine Referenzzeichenfolge „Sortstr“ im Konstruktor übergeben. Dann haben wir die Sort () -Methode in der Funktion „MyString“ aufgerufen. Die Sort () -Methode hat den Start -Iterator und den End -Iterator, der das Zeichenfolgenzeichen in aufsteigender Reihenfolge sortiert. Die sortierte Zeichenfolge wird über die Cout -Anweisung gedruckt.

Jetzt haben wir die Hauptfunktion, in der wir eine Zeichenfolge als „Strval“ deklariert und initialisiert haben. Die Zeichenfolge "Strval" wird in der Funktion "MyString" übergeben, um die angegebene Zeichenfolge zu sortieren.

#enthalten
Verwenden von Namespace STD;
void mystring (String & Sortstr)

sortieren (Sortstr.begin (), sortstr.Ende());
Cout << SortStr;

int main ()

String strval = "ProgrammingLanguage";
MyString (Strval);
Cout << "\n";
Rückkehr 0;

Die Sort () -Methode sortierte die Zeichenfolgezeichen in aufsteigender Reihenfolge. Das Ergebnis aufsteigender Reihenfolge Stringzeichen ist im Bild angezeigt.

Beispiel2

Wir können auch die Zeichenfolge- oder String-Zeichen sortieren, indem wir die Sort-Methode Sortier verwenden, die in der integrierten C ++ -Bibliothek enthalten ist . Der folgende Code enthält zwei Bibliotheken, "iostream" und "Algorithmus" im Header -Abschnitt. Durch den „Algorithmus“ der Bibliothek können wir auf die Sortiermethode Std :: zugreifen.

Nach dem Header -Abschnitt haben wir die Hauptfunktion, in der wir ein String -Array als „Farben“ definiert haben und es mit einigen Wörtern initialisiert haben. Dann müssen wir eine Array -Größe in einem „Arrrise“ der Datentyp -Ganzzahl definieren. Wenn Sie nun die Sortiermethode STD :: Sortier verwenden.

In der nächsten Codezeile befindet sich eine Anweisung für Schleifen, die die Schleife bis zur Arraygröße „5“ für ein String -Array iteriert. Die Cout -Anweisung druckt das sortierte Array in aufsteigender Reihenfolge aus.

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
String Colors [] = "pink", "grau", "gelb", "blau", "rot";
int arrSize = 5;
std :: sortieren (Farben, Farben + Arrsize);
für (int a = 0; a < 5; a++)
Cout<
Rückkehr 0;

Die Ausgabe aus der unten gezeigten Standardbibliotheksfunktion wird in alphabetischer Reihenfolge sortiert.

Beispiel 3

Eine wirksame Strategie würde zunächst bemerken, dass es nur 26 verschiedene Zeichen geben kann. In einem Hashed -Array können wir also die Anzahl der Ereignisse jedes Zeichens von 'a bis' z speichern.'Wir werden einfach das Hashed -Array durchsuchen und die Zeichen von' a 'bis' z 'ausgeben, da sie in der Eingabezeichenfolge mehrmals erscheinen. Um den Code zu implementieren, haben wir also eine Standardbibliothek importiert, „STDC++.H ”, was uns hilft, das angegebene Array zu sortieren.

Jetzt haben wir die Variablen "Zeichen" mit dem Schlüsselwort "const" deklariert und sie mit dem Wert "26" initialisiert. Dann haben wir eine Funktion namens "Sortstr", die die Referenz einer sortierten Zeichenfolge als "strx" nimmt. In der Funktion haben wir ein Hash -Array als "Countchar" erstellt. Anfang. Nach der Initialisierung des Hash -Array -Initialisierung haben wir eine für eine Schleifenanweisung, die die Zeichenfolge durchquert und die Zeichenzahl erhöht. Der erste Index des Hashed Arrays repräsentiert das Zeichen "a"; die zweite repräsentiert 'b' usw.

Für die Position des Charakters in der Anzahl eines Hash-Arrays verwendeten wir Strx [i]-'a'. Wir haben eine verschachtelte Schleife zum Überqueren und Vergleich des Zeichens durch die Zeichenfolge. Wenn die Variable "j" in der Schleife größer ist als das Zählzeichen in der Variablen "I". Das String -Hash -Array wird die Zeichen durchqueren und drucken. In den letzten Zeilen haben wir die Hauptfunktion, in der wir die Zeichenfolge für die Funktion „MyString“ deklariert und initialisiert haben, und initialisiert haben und initialisiert haben und initialisiert haben und initialisiert haben und initialisiert haben, und initialisiert haben und initialisiert haben, und initialisiert haben, dass wir "MyString" deklariert und initialisiert haben, und initialisiert haben und initialisiert haben, und initialisiert haben und initialisiert haben, und initialisiert haben, dass wir "MyString" deklariert und initialisiert haben, haben wir deklariert und initialisiert.

#enthalten
Verwenden von Namespace STD;
const int Zeichen = 26;
void sortstr (String & Strx)

int countChar [Zeichen] = 0;
für (int i = 0; iCountChar [strx [i]-'a'] ++;
für (int i = 0; ifür (int j = 0; jCout << (char)('a'+i);

int main ()

String mystring = "Willkommensfreunde";
Sortstr (MyString);
Cout <<"\n";
Rückkehr 0;

Das Ergebnis des sortierten Zeichens der Zeichenfolge wird auf dem folgenden Terminalbildschirm angezeigt.

Beispiel 4

In der C ++ - Programmierung müssen wir den Benutzer bitten, einige Namen anzugeben, um Strings (Namen) alphabetisch (Zeichenfolgen) zu ordnen (Zeichenfolgen). Sortieren Sie dann, wie im folgenden Code angegeben. Wir haben den Blasensortieralgorithmus für diese Illustration. Der Code hat die Hauptfunktion, bei der wir ein Zeichenarray „Allname“ der Arraygröße „5“ und den Zeichenwert von „10“ definiert haben. Außerdem haben wir ein weiteres Array "Name" der Datentyp -Zeichenfolge und setzen den Zeichenwert auf "10".

Dann haben wir eine ganzzahlige Variable "x" und "y" definiert. Das Charakter -Array ist die Benutzereingabe in diesem Code. Der Benutzer wird die Namenszeichenfolge von fünf Zeichen eingeben. Jetzt haben wir verschachtelte Schleifenanweisungen und im verschachtelten Loop -Block haben wir eine IF -Bedingung, die die Funktion „STRCMP“ verwendet, um zwei Zeichenfolgen zu vergleichen. Nach dem Vergleich der Saiten haben wir die Funktion „Strcpy“ zum Austausch der Namen der Zeichenfolge angerufen. Infolgedessen haben wir die sortierte alphabetische Reihenfolge der Zeichenfolgennamen.

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

Char Allname [5] [10], Name [10];
int x, y;
Cout<<"Enter Names: ";
für (x = 0; x> Allname [x];
für (x = 1; x<5; x++)

für (y = 1; y0)

Strcpy (Name, Allname [y-1]);
Strcpy (Allname [y-1], Allname [y]);
Strcpy (Allname [y], Name);



Cout<<"\nAlphabetical order of Names :\n";
für (x = 0; x<5; x++)
Cout<Cout<Rückkehr 0;

Zuerst müssen Sie fünf zufällige Namen eingeben. Dann sortiert es die Zeichenfolgennamen in alphabetischer Reihenfolge. Die resultierenden sortierten Zeichenfolgennamen in alphabetischer Reihenfolge werden unten angezeigt.

Abschluss

Wir schließen daraus, dass das Zeichen der Stringsortierung in C ++ durch verschiedene Sortieralgorithmen erreicht wird. Hier untersuchen wir, wie Sie eine Zeichenfolge in C ++ mit einigen Sortierbeispielen sortieren und wie Sie eine Zeichenfolge mit einigen Sortieralgorithmen sortieren. Alle Implementierungen von Codes werden in Ubuntu 20 durchgeführt.04 Verwenden des G ++ - Compilers. Wir hoffe++.