vector

vector二维数组排序的方法是什么

小亿
154
2024-03-19 17:54:38
栏目: 编程语言

对于二维数组,可以通过定义一个比较函数来实现排序。比较函数可以按照需要对二维数组中的元素进行比较,然后使用排序算法进行排序。

以下是一个使用C++的STL进行排序的示例代码:

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

// 比较函数,按照第一列进行升序排序
bool compare(const std::vector<int>& a, const std::vector<int>& b) {
    return a[0] < b[0];
}

int main() {
    std::vector<std::vector<int>> vec = {{3, 2}, {1, 4}, {2, 1}};

    // 使用比较函数对二维数组进行排序
    std::sort(vec.begin(), vec.end(), compare);

    // 打印排序后的二维数组
    for (const auto& row : vec) {
        for (int num : row) {
            std::cout << num << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

在上面的代码中,我们定义了一个比较函数compare,用于按照二维数组中每个元素的第一列进行升序排序。然后使用std::sort函数对二维数组进行排序。

如果需要按照其他列进行排序,只需修改比较函数中的比较逻辑即可。

0
看了该问题的人还看了