概述
如何对二维数组进行选择排序(先对行后对列)
#include<stdio.h>
int main()
{
int n,m;
scanf("%d %d",&n,&m);
int a[n][m],j,i,k,f,temp,p;
for(i=0;i<n;i++)//输入二维数组
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)//对行进行选择排序
for(k=0;k<m;k++)
{ p=k;//p用来保存最小值的下标
for(f=k+1;f<m;f++)
if(a[i][p]>a[i][f])
p=f;
if(p!=k)
{
temp=a[i][k];
a[i][k]=a[i][p];
a[i][p]=temp;
}
}
for(i=0;i<m;i++)//对列进行选择排序
for(k=0;k<n;k++)
{ p=k;//p用来保存最小值的下标
for(f=k+1;f<n;f++)
if(a[p][i]>a[f][i])
p=f;
if(p!=k)
{
temp=a[k][i];
a[k][i]=a[p][i];
a[p][i]=temp;
}
}
for(i=0;i<n;i++)//输出二维数组
{ for(j=0;j<m;j++)
{printf("%d ",a[i][j]);}
printf("n");
}
return 0;
}
最后
以上就是俏皮裙子为你收集整理的二维数组选择排序的全部内容,希望文章能够帮你解决二维数组选择排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复