Почему сортировка строк по длине дает неверные результаты? [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
Почему сортировка строк по длине дает неверные результаты? [дубликат]

Сообщение Anonymous »

Я хочу отсортировать вектор строк сначала по их длине, а затем в алфавитном порядке.
Моя быстрая первоначальная реализация:

Код: Выделить всё

#include 
#include 
#include 
#include 

using namespace std;

int main() {

vector words {"zzz", "aaazzz", "zz", "a"};

sort(words.begin(), words.end(), [](auto& w1, auto& w2) {
if (w1.length() < w2.length()) {
return true;
}
return w1 < w2;
});

for (auto& w : words) {
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79334981/why-does-sorting-strings-by-length-give-incorrect-results[/url]

Вернуться в «C++»