Warum führt das Sortieren von Zeichenfolgen nach Länge zu falschen Ergebnissen?
Posted: 07 Jan 2025, 07:10
Ich möchte einen Vektor von Zeichenfolgen zuerst nach ihrer Länge und dann in alphabetischer Reihenfolge sortieren.
Meine schnelle erste Implementierung:
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