按照列排序
#include<>
int main()
{
int a[3][5]={{2,1,4,6,3},{0,3,6,2,1},{6,2,0,8,2}};
int b[15];
int i,j,k;
int t;
//
printf("二维数组的内容为:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=4;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
//二维数组按照列的方式变成一维数组
k=0;
for(j=0;j<=4;j++)
{
for(i=0;i<=2;i++)
{
b[k]=a[i][j];
k++;
}
}
///一维数组选择排序
for(i=0;i<=13;i++)
{
for(j=0;j<=13-i;j++)
{
if(b[j]>b[j+1])
{
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
}
}
}
///一维数组按照列的方式变成二维数组
k=0;
for(j=0;j<=4;j++)
{
for(i=0;i<=2;i++)
{
a[i][j]=b[k];
k++;
}
}
printf("二维数组按照列进行排序后的内容为:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=4;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
return 0;
}
按照行排序
#include<>
int main()
{
int a[3][5]={{2,1,4,6,3},{0,3,6,2,1},{6,2,0,8,2}};
int b[15];
int i,j,k;
int t,min;
//
printf("二维数组的内容为:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=4;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
//二维数组按照行的方式变成一维数组
k=0;
for(i=0;i<=2;i++)
{
for(j=0;j<=4;j++)
{
b[k]=a[i][j];
k++;
}
}
///一维数组选择排序
for(i=0;i<=13;i++)
{
min=i;
for(j=i+1;j<=14;j++)
{
if(b[j]<b[min])
min=j;
}
if(min!=i)
{
t=b[min];
b[min]=b[i];
b[i]=t;
}
}
///一维数组按照行的方式变成二维数组
k=0;
for(i=0;i<=2;i++)
{
for(j=0;j<=4;j++)
{
a[i][j]=b[k];
k++;
}
}
printf("二维数组按照行进行排序后的内容为:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=4;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
return 0;
}