Um z.B. eine Liste von Strings zu sortieren, kann man die Strings in einen Vector packen und mit dem „sort“-Algorithmus sortieren. Dabei kann man sich auf das Standardsortierungskriterium verlassen oder mit einem Lambda das Sortierungskriterium angeben.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#include <iostream> #include <vector> #include <algorithm> const std::string delimiter = std::string(40, '-'); void display(std::vector<std::string>& vec) { std::cout << delimiter << std::endl; std::for_each(vec.begin(), vec.end(), [](std::string s) { std::cout << s << std::endl; }); std::cout << delimiter << std::endl; } int main() { std::vector<std::string> friends{ "Frank", "Bernhard", "Thomas", "Michael", "Janusch" }; std::cout << "Unsortiert!\n"; display(friends); std::cout << "Sortiert alphabetisch!\n"; std::sort(friends.begin(), friends.end()); display(friends); std::cout << "Sortiert nach Länge des Namens!\n"; std::sort(friends.begin(), friends.end(), [](const auto& first, const auto& second) { return first.size() < second.size(); }); display(friends); } |