用c语言写一个二维数组排序
时间: 2023-03-19 14:21:31 浏览: 176
C语言 二维数组的排序方法
好的,以下是用C语言写一个二维数组排序的示例代码:
```c
#include <stdio.h>
// 定义行列数
#define ROWS 3
#define COLS 4
// 定义函数,用于打印数组
void printArray(int arr[ROWS][COLS]) {
for(int i = 0; i < ROWS; i++) {
for(int j = 0; j < COLS; j++) {
printf("%d\t", arr[i][j]);
}
printf("\n");
}
}
// 定义函数,用于交换两个元素的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 定义函数,用于对数组进行冒泡排序
void bubbleSort(int arr[ROWS][COLS]) {
for(int i = 0; i < ROWS; i++) {
for(int j = 0; j < COLS - 1; j++) {
for(int k = 0; k < COLS - j - 1; k++) {
if(arr[i][k] > arr[i][k+1]) {
swap(&arr[i][k], &arr[i][k+1]);
}
}
}
}
}
int main() {
// 定义二维数组
int arr[ROWS][COLS] = {
{3, 1, 4, 2},
{6, 5, 8, 7},
{9, 10, 11, 12}
};
// 打印排序前的数组
printf("排序前的数组:\n");
printArray(arr);
// 对数组进行冒泡排序
bubbleSort(arr);
// 打印排序后的数组
printf("排序后的数组:\n");
printArray(arr);
return 0;
}
```
这个示例程序定义了一个3行4列的二维数组,并且定义了三个函数:`printArray`函数用于打印数组,`swap`函数用于交换两个元素的值,`bubbleSort`函数用于对数组进行冒泡排序。最后在主函数中调用这些函数来打印排序前的数组、对数组进行排序并打印排序后的数组。
阅读全文