在C++中,使用lambda表达式进行排序时,可以通过lambda表达式中的参数进行自定义排序。以下是一些使用lambda表达式进行排序的技巧:
std::vector<int> vec = {5, 2, 9, 3, 7};
std::sort(vec.begin(), vec.end(), [](int a, int b) {
return a < b;
});
std::vector<std::string> vec = {"apple", "banana", "orange", "grape"};
std::sort(vec.begin(), vec.end(), [](const std::string& a, const std::string& b) {
return a.size() < b.size();
});
std::vector<int> vec = {5, 2, 9, 3, 7};
std::sort(vec.begin(), vec.end(), [](int a, int b) {
return a > b;
});
struct Person {
std::string name;
int age;
};
std::vector<Person> vec = {{"Alice", 25}, {"Bob", 30}, {"Charlie", 20}};
std::sort(vec.begin(), vec.end(), [](const Person& a, const Person& b) {
return a.age < b.age;
});
这些是一些使用lambda表达式进行排序的技巧,可以根据具体的需求进行自定义排序规则。