c语言二维数组的冒泡排序
时间: 2023-10-21 13:36:47 浏览: 150
以下是一个实现二维数组冒泡排序的C程序:
#include <stdio.h>
#define ROWS 3
#define COLS 4
void bubble_sort(int arr[][COLS], int rows) {
int i, j, k, temp;
for (i = 0; i < rows; i++) {
for (j = 0; j < COLS - 1; j++) {
for (k = 0; k < COLS - j - 1; k++) {
if (arr[i][k] > arr[i][k + 1]) {
temp = arr[i][k];
arr[i][k] = arr[i][k + 1];
arr[i][k + 1] = temp;
}
}
}
}
}
int main() {
int arr[ROWS][COLS] = { { 3, 2, 1, 4 }, { 6, 5, 7, 8 }, { 9, 10, 12, 11 } };
int i, j;
printf("Before sorting:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
bubble_sort(arr, ROWS);
printf("After sorting:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
在该程序中,我们首先定义了一个3x4的二维数组arr,然后定义了一个bubble_sort函数来对其进行冒泡排序。该函数使用了三重循环,第一重循环遍历数组的每一行,第二重和第三重循环用于对该行进行冒泡排序。最后,我们在main函数中调用该函数并输出排序前和排序后的数组。
阅读全文