Ваша функция sort
на самом деле не изменяет передаваемую строку s1
. Вам нужно, чтобы s
был ссылкой на аргумент, переданный в:
void sort(int n, std::string &s);
и теперь меняющий s
аналогично изменению s1
.
Вам также необходимо изменить подпись в определении функции.
Кроме того, вам не нужно передавать длину строки в функцию, поскольку строка уже знает свой размер:
void sort(std::string &s) {
int n = s.length();
// ...
}