Heim > Backend-Entwicklung > C++ > Implementieren Sie die vollständige C++-Permutation einer bestimmten Zeichenfolge mithilfe von STL

Implementieren Sie die vollständige C++-Permutation einer bestimmten Zeichenfolge mithilfe von STL

王林
Freigeben: 2023-09-01 23:33:06
nach vorne
990 Leute haben es durchsucht

Implementieren Sie die vollständige C++-Permutation einer bestimmten Zeichenfolge mithilfe von STL

Wenn die Zeichen einer bestimmten Zeichenfolge in irgendeiner Form neu angeordnet werden, entsteht eine Anordnung der Zeichenfolge. In diesem Tutorial besprechen wir beispielsweise, wie alle Permutationen einer bestimmten Zeichenfolge mithilfe der Standardvorlagenbibliothek von C++ gedruckt werden.

Input : s = “ADT”

Output : “ADT”, “ATD”, “DAT”, “DTA”, “TAD”, “TDA”

Explanation : In the given output as you can see all the string are made up of same three character present in our string and are just rearranged thus they fit in the definition of a permutation of a string now there is one more thing to note these are all the permutations possible of string s.
Nach dem Login kopieren

Es gibt zwei Möglichkeiten, alle Permutationen einer bestimmten Zeichenfolge zu drucken. Rotate()

Wir sind gehe zu Die erste verwendete Methode ist die Verwendung der Rotationsmethode. Bei dieser Methode verwenden wir die Rotationsfunktion von STL, die zum Drehen von Zeichenfolgen verwendet wird, und verwenden Rekursion, um die Anordnung zu drucken.

Beispiel: C++-Code für die obige Methode Die Zeichenfolge existiert. Wenn nicht, wird false zurückgegeben.

Wie Sie wissen, prüft diese Funktion die nächste Permutation. Daher müssen wir die Zeichenfolge zunächst lexikografisch sortieren, um alle möglichen Permutationen zu erhalten.

Beispiel

C++-Code für die obige Methode

#include<bits/stdc++.h>
using namespace std;
void permutations(string s, string ans){
    if(s.size() == 0) {
// when our string which needs to
//be rotated becomes empty then it means
//that our permutation is stored in ans
        cout << ans << "\n";
        return ;
    }
    for(int i = 0; i < s.size(); i++){
        permutations(s.substr(1), ans + s[0]);
        // we are adding the
        // first character in our ans
        // passing all elements from index 1 in our
        // rotate string for next function.
        rotate(s.begin(), s.begin()+1, s.end());
        //rotating such that our second element becomes first
    }
}
int main(){
    string s = "ADT"; // given string
    permutations(s, "");
    return 0;
}
Nach dem Login kopieren

Ausgabe

ADT
ATD
DTA
DAT
TAD
TDA
Nach dem Login kopieren

Im obigen Programm sortieren wir die Zeichenfolge und drucken dann mit Hilfe der Funktion next_permutation alle möglichen Permutationen aus.

Fazit

In diesem Tutorial haben wir alle möglichen Permutationen einer bestimmten Zeichenfolge mit Hilfe von STL in C++ gedruckt. Wir haben auch das C++-Programm für das Problem sowie einige grundlegende STL-Funktionen und deren Verwendung kennengelernt. Wir hoffen, dass Sie dieses Tutorial hilfreich fanden.

Das obige ist der detaillierte Inhalt vonImplementieren Sie die vollständige C++-Permutation einer bestimmten Zeichenfolge mithilfe von STL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage