Есть ли способ сортировки подстроки с использованием STL?Сортировка подстроки с использованием STL
Я знаю, что смогу это сделать.
std::string word="dcba";
std::sort(word.begin(), word.end());
Но как получить итераторы для произвольных индексов?
eg-Если бы я хотел, чтобы отсортировать от индексов 2 до 4, «DCAB»
Edit - Это было необходимо для функции, чтобы генерировать следующий лексикографическом последовательность из заданной строки.
bool nextLex(string s) {
for(int i=s.length()-1;i>=0;i--) {
for(int j=i-1;j>=0;j--) {
if(s[j]<s[i]) {
swap(s[i],s[j]);
sort(s.begin()+j,s.end());
cout<<s<<endl;
return true;
}
}
}
return false;
}
word.begin() + 2, word.begin() + 4. Не забудьте проверить размер – Danh
Вы можете посмотреть на 'std :: next_permutation' для следующей лексикографической последовательности. [Demo] (https://ideone.com/M2Z5MT) – Jarod42