如何使用冒泡法排序二维数组
时间: 2024-02-21 15:54:24 浏览: 33
冒泡排序是一种简单的排序算法,它的基本思想是通过相邻元素之间的比较和交换来把小的数交换到数组的前面,大的数交换到数组的后面。对于二维数组,我们可以按照一维数组的方式进行排序,只需要在比较和交换的时候,将二维数组的每一行看作一个一维数组即可。
下面是使用冒泡法对二维数组进行排序的示例代码:
```c
#include <stdio.h>
#define ROW 3
#define COL 4
void bubble_sort(int arr[][COL], int row) {
int i, j, k, temp;
for (i = 0; i < row; i++) {
for (j = 0; j < COL - 1; j++) {
for (k = 0; k < COL - 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[ROW][COL] = {{3, 2, 1, 4}, {6, 5, 8, 7}, {9, 10, 11, 12}};
int i, j;
printf("排序前的数组:\n");
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
bubble_sort(arr, ROW);
printf("排序后的数组:\n");
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
printf("%d ", arr[i][j]); }
printf("\n");
}
return 0;
}
```
在上面的代码中,我们定义了一个名为`bubble_sort`的函数,它接受一个二维数组和数组的行数作为参数,使用冒泡法对二维数组进行排序。在`main`函数中,我们定义了一个3行4列的二维数组,并将其输出到屏幕上。然后调用`bubble_sort`函数对数组进行排序,并将排序后的数组输出到屏幕上。
相关推荐
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)