那不用qsort函数呢?
时间: 2024-11-02 14:08:17 浏览: 13
C语言中qsort函数用法实例小结
当然,如果你不想使用`qsort`函数,你可以手动遍历二维数组并进行比较,实现自定义的冒泡排序、选择排序或其他排序算法。以下是基于冒泡排序的一个简单示例,它按照行内第一个元素的升序排列:
```c
#include <stdio.h>
void bubble_sort_by_first_element(int matrix[][col], size_t rows) {
for(size_t i = 0; i < rows; ++i) {
for(size_t j = 0; j < rows - i - 1; ++j) {
if(matrix[j][0] > matrix[j + 1][0]) {
// 交换行内的元素
int temp = matrix[j][0];
matrix[j][0] = matrix[j + 1][0];
matrix[j + 1][0] = temp;
// 如果有其他列的数据,也一起交换
for(size_t k = 1; k < col; ++k) {
temp = matrix[j][k];
matrix[j][k] = matrix[j + 1][k];
matrix[j + 1][k] = temp;
}
}
}
}
}
// 示例用法
bubble_sort_by_first_element(matrix, rows);
阅读全文