Als ik een string heb, is er dan een ingebouwde functie om de tekens te sorteren of moet ik die van mezelf schrijven?
bijvoorbeeld:
string word = "dabc";
Ik zou het zo willen wijzigen dat:
string sortedWord = "abcd";
Misschien is het gebruik van char een betere optie? Hoe zou ik dit doen in C++?
Antwoord 1, autoriteit 100%
Er is een sorteeralgoritmein de standaardbibliotheek, in de kop <algorithm>
. Het sorteert op zijn plaats, dus als je het volgende doet, wordt je oorspronkelijke woord gesorteerd.
std::sort(word.begin(), word.end());
Als je het origineel niet wilt verliezen, maak dan eerst een kopie.
std::string sortedWord = word;
std::sort(sortedWord.begin(), sortedWord.end());
Antwoord 2, autoriteit 10%
std::sort(str.begin(), str.end());
Zie hier
Antwoord 3
U moet de functie sort
opnemen. in algorithm
headerbestand dat een standaard sjabloonbibliotheekin c++.
Gebruik: std::sort(str.begin(), str.end());
#include <iostream>
#include <algorithm> // this header is required for std::sort to work
int main()
{
std::string s = "dacb";
std::sort(s.begin(), s.end());
std::cout << s << std::endl;
return 0;
}
OUTPUT:
abcd
Antwoord 4
U kunt de functie sort()gebruiken. sort() bestaat in algoritmeheaderbestand
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
string str = "sharlock";
sort(str.begin(), str.end());
cout<<str<<endl;
return 0;
}
Uitvoer:
achklors