C语言怎样对二维数组中每个元素进行选择排序
C语言怎样对二维数组中每个元素进行选择排序?
参考代码:
#include
#include "stdlib.h"
#include "time.h"
int main(int argc,char *argv[]){
int a[5][8],i,j,k,t,*p
printf("排序前:\n")
srand((unsigned)time(NULL))
for(i=0i<5i++){//为二维数组赋值
for(j=0j<8printf("%3d",a[i][j++]=rand()%100))
printf("\n")
}
printf("排序后:\n")
p=(int *)a//降为一维,这样排序简单
for(t=i=0i<40i++){//选择法排序
for(k=i,j=k+1j<40j++)
if(p[k]>p[j])
k=j
if(k!=i)
j=p[k],p[k]=p[i],p[i]=j
printf(++t%8 ? "%3d" : "%3d\n",p[i])
}
return 0
}