使用方法为冒泡
[C] 纯文本查看 复制代码 #include <stdio.h>
void bubbleByArr(int rows,int cols,int arr[][cols])
{
int i,j,temp=0;
//遍历这个二维数组,为其赋值
for(i=0; i<rows; i++)
for(j=0; j<cols; j++)
{
printf("请输入:\n");
scanf("%d", &arr[i][j]);
}
//冒泡排序
for(i=0;i<cols*rows-1;i++)
{
for(j=0;j<rows*cols-i-1;j++)
{
//j/cols代表二维数组的元素位于第几个排
//j%cols代表二维数组的元素位于当前排的哪一列
if(arr[j/cols][j%cols]<arr[(j+1)/cols][(j+1)%cols])
{
temp = arr[j/cols][j%cols];
arr[j/cols][j%cols] = arr[(j+1)/cols][(j+1)%cols];
arr[(j+1)/cols][(j+1)%cols] = temp;
}
}
}
for(i=0;i<rows;i++)
{
for(j=0;j<cols;j++)
{
printf("arr[%d][%d] = %d\n",i,j,arr[i][j]);
}
}
}
|