Sorting Characters Of A C++ String
Sophia Terry
If i have a string is there a built in function to sort the characters or would I have to write my own?
for example:
string word = "dabc";I would want to change it so that:
string sortedWord = "abcd";Maybe using char is a better option? How would I do this in C++?
24 Answers
There is a sorting algorithm in the standard library, in the header <algorithm>. It sorts inplace, so if you do the following, your original word will become sorted.
std::sort(word.begin(), word.end());If you don't want to lose the original, make a copy first.
std::string sortedWord = word;
std::sort(sortedWord.begin(), sortedWord.end()); 3 std::sort(str.begin(), str.end());See here
1You have to include sort function which is in algorithm header file which is a standard template library in c++.
Usage: 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
You can use sort() function. sort() exists in algorithm header file
#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; }Output:
achklors