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

avatar
作者
猴君
阅读量:0

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

以下是一个使用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函数对二维数组进行排序。

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!