温馨提示×

C++ sort lambda使用技巧有哪些

c++
小樊
109
2024-07-19 02:08:36
栏目: 编程语言

在C++中,使用lambda表达式进行排序时,可以通过lambda表达式中的参数进行自定义排序。以下是一些使用lambda表达式进行排序的技巧:

  1. 使用lambda表达式定义排序规则:
std::vector<int> vec = {5, 2, 9, 3, 7};

std::sort(vec.begin(), vec.end(), [](int a, int b) {
    return a < b;
});
  1. 使用lambda表达式进行自定义排序:
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();
});
  1. 使用lambda表达式进行逆序排序:
std::vector<int> vec = {5, 2, 9, 3, 7};

std::sort(vec.begin(), vec.end(), [](int a, int b) {
    return a > b;
});
  1. 使用lambda表达式进行自定义比较函数:
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表达式进行排序的技巧,可以根据具体的需求进行自定义排序规则。

0