c 二维数组怎么用sort排序
时间: 2024-05-28 20:06:00 浏览: 84
在C语言中,可以使用二维数组来存储和处理多个数据集合。要对二维数组进行排序,可以使用C标准库中的`qsort`函数来实现。`qsort`函数是一个通用的排序函数,可以对任意类型的数组进行排序。
下面是一个示例代码,演示了如何使用`qsort`函数对二维数组进行排序:
```c
#include <stdio.h>
#include <stdlib.h>
// 比较函数,用于指定排序规则
int compare(const void *a, const void *b) {
// 将二维数组的每一行视为一个元素进行比较
const int *rowA = *(const int **)a;
const int *rowB = *(const int **)b;
// 按照第一列的值进行升序排序
return rowA - rowB;
}
int main() {
int arr[] = {{3, 2}, {1, 4}, {2, 1}, {4, 3}};
int rows = sizeof(arr) / sizeof(arr);
// 使用qsort函数对二维数组进行排序
qsort(arr, rows, sizeof(arr), compare);
// 打印排序后的结果
for (int i = 0; i < rows; i++) {
printf("%d %d\n", arr[i], arr[i]);
}
return 0;
}
```
在上面的示例代码中,我们定义了一个二维数组`arr`,其中每一行表示一个元素。然后,我们使用`qsort`函数对二维数组进行排序,通过比较函数`compare`指定了排序规则。在比较函数中,我们将二维数组的每一行视为一个元素进行比较,按照第一列的值进行升序排序。最后,我们打印排序后的结果。
阅读全文