sort排序二维数组 c
时间: 2024-01-29 12:10:00 浏览: 103
C语言 二维数组的排序方法
以下是使用C++对二维数组进行排序的示例代码:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
bool compareArrays(const int* arr1, const int* arr2, int size) {
for (int i = 0; i < size; i++) {
if (arr1[i] != arr2[i]) {
return arr1[i] < arr2[i];
}
}
return false;
}
int main() {
int arr[][3] = {{3, 2, 1}, {6, 5, 4}, {9, 8, 7}};
int rows = sizeof(arr) / sizeof(arr[0]);
int cols = sizeof(arr[0]) / sizeof(arr[0][0]);
sort(arr, arr + rows, [&](const int* arr1, const int* arr2) {
return compareArrays(arr1, arr2, cols);
});
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
这段代码使用了`sort`函数对二维数组进行排序。首先,我们定义了一个`compareArrays`函数,用于比较两个一维数组的大小关系。然后,在`main`函数中,我们使用`sort`函数对二维数组`arr`进行排序,排序的依据是调用`compareArrays`函数进行比较。最后,我们遍历排序后的二维数组并输出结果。
阅读全文