将二维阵列各行从小到大重新排列,
主要步骤:固定第一行第一个元素,将第一行第二个元素到最后一个元素与第一个元素进行比较,后面的元素大于第一个元素进行交换,固定第一行第二个元素,第一行第三个元素和比较后面的元素大则进行交换
代码
//二维数组中的每行按从小到大的顺序排列#include stdio.hmain () inta [3] [4]={ 3,2,1,5 },{ 6,5,4,3 },{ 6,4,3,4 } i3; I//行数for(j=0; j4-1; j//列数{for(s=j1; s4; s//上的a[i][j]是固定的,将固定的a[i][j]与a[i][s]进行比较,s各行j后面的元素{ if [ a [ I ] [ j ] a [ I ] [ s ] } { t=a [ a[i][s]=t; }}for(I=0; i3; I ) for(j=0; j4; j ) printf('%-3d ',a[i][j]; printf((n ); }按从小到大的顺序对二维数组的各列进行排序:
#includestdio.hmain((intI,j,k,t,a ) )2)={ 5,4 }、{ 3,3 }、{ 2,1 }; for(I=0; i2; I ) for ) j=0; j3; j ) for(k=j1; k3; k () if ) a[j][I]a[k][I] ) {t=a[j][i]; a[j][i]=a[k][i]; a[k][i]=t; }}for(I=0; i3; I ) for(j=0; j2; j ) printf('=',a[i][j]; printf((n ); }