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

c++
小樊
106
2024-07-19 02:08:36

在C++中,使用lambda表達(dá)式進(jìn)行排序時(shí),可以通過(guò)lambda表達(dá)式中的參數(shù)進(jìn)行自定義排序。以下是一些使用lambda表達(dá)式進(jìn)行排序的技巧:

  1. 使用lambda表達(dá)式定義排序規(guī)則:
std::vector<int> vec = {5, 2, 9, 3, 7};

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

std::sort(vec.begin(), vec.end(), [](int a, int b) {
    return a > b;
});
  1. 使用lambda表達(dá)式進(jìn)行自定義比較函數(shù):
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表達(dá)式進(jìn)行排序的技巧,可以根據(jù)具體的需求進(jìn)行自定義排序規(guī)則。

0