溫馨提示×

C++ sort lambda能應(yīng)用于多維數(shù)據(jù)嗎

c++
小樊
88
2024-07-19 02:19:37
欄目: 編程語言

是的,C++中的sort函數(shù)可以使用lambda表達(dá)式對多維數(shù)據(jù)進(jìn)行排序。例如,如果有一個(gè)二維數(shù)組,可以使用lambda表達(dá)式作為sort函數(shù)的第三個(gè)參數(shù)來指定排序規(guī)則。下面是一個(gè)示例:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<std::vector<int>> data = { {3, 2, 1}, {6, 5, 4}, {9, 8, 7} };

    // 使用lambda表達(dá)式對二維數(shù)組按第一列進(jìn)行排序
    std::sort(data.begin(), data.end(), [](const std::vector<int>& a, const std::vector<int>& b) {
        return a[0] < b[0];
    });

    // 打印排序后的二維數(shù)組
    for (const std::vector<int>& row : data) {
        for (int num : row) {
            std::cout << num << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

在上面的示例中,我們使用lambda表達(dá)式來指定按二維數(shù)組的第一列進(jìn)行排序。通過修改lambda表達(dá)式的邏輯,可以實(shí)現(xiàn)按照其他列或其他規(guī)則進(jìn)行排序。因此,C++中的sort函數(shù)配合lambda表達(dá)式可以很方便地對多維數(shù)據(jù)進(jìn)行排序。

0