c++二维数组自定义sort
时间: 2023-09-16 10:06:29 浏览: 99
C++将数字从键盘读入数组并统计数字出现的次数,元素从大到小的顺序排序
可以使用STL中的sort函数来对二维数组进行排序,需要自定义比较函数。
假设有一个二维数组arr,其中每个元素都是一个长度为2的数组,可以先定义一个比较函数cmp:
```c++
bool cmp(int a[], int b[]) {
return a[0] < b[0]; // 按照第一列升序排序
}
```
然后可以使用sort函数进行排序:
```c++
sort(arr, arr + n, cmp); // n为数组长度
```
完整示例:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a[], int b[]) {
return a[0] < b[0]; // 按照第一列升序排序
}
int main() {
int arr[3][2] = {{3, 1}, {1, 2}, {2, 3}};
sort(arr, arr + 3, cmp);
for (int i = 0; i < 3; i++) {
cout << arr[i][0] << " " << arr[i][1] << endl;
}
return 0;
}
```
输出结果:
```
1 2
2 3
3 1
```
阅读全文