Page 1 of 1

Warum führt das Sortieren von Zeichenfolgen nach Länge zu falschen Ergebnissen?

Posted: 07 Jan 2025, 07:10
by Guest
Ich möchte einen Vektor von Zeichenfolgen zuerst nach ihrer Länge und dann in alphabetischer Reihenfolge sortieren.
Meine schnelle erste Implementierung:

Code: Select all

#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