如何对数组进行冒泡排序(先对行再对列)
代码如下
#includeint main() { int temp,i,j,m,n,k; scanf("%d %d",&n,&m); int b[n][m];//数组 for(i=0;i b[k][j + 1]) { temp = b[k][j + 1]; b[k][j + 1] = b[k][j]; b[k][j] = temp; } } } } //下面的是对列的冒泡排序,让小的数据浮上来 for (k = 0; k < m; k++)//一共m列,循环m次,对每一列都进行冒泡排序 { for (i = 0; i < n-1; i++)// 每一列里面有n个数,要进行n-1次排序 { for (j = 0; j < n - 1 - i; j++)//第i趟排序要进行n-1-i次比较 { if (b[j + 1][k] < b[j][k]) { temp = b[j + 1][k]; b[j + 1][k] = b[j][k]; b[j][k] = temp; } } } } for (i = 0; i < n; i++) //打印二维数组排序的最终结果 { for (j = 0; j < m; j++) { printf("%d ",b[i][j]); } printf("n"); } return 0; }



