二維數組C語言排序
發布時間: 2023-06-14 16:00:38
❶ 如何用c語言的qsort對二維數組排序
建議你這樣試試看:
先定義數組大小:
❷ C語言怎樣對二維數組中每個元素進行選擇排序
#include<stdio.h>
#include"stdlib.h"
#include"time.h"
intmain(intargc,char*argv[]){
inta[5][8],i,j,k,t,*p;
printf("排序前: ");
srand((unsigned)time(NULL));
for(i=0;i<5;i++){//為二維數組賦值
for(j=0;j<8;printf("%3d",a[i][j++]=rand()%100));
printf(" ");
}
printf("排序後: ");
p=(int*)a;//降為一維,這樣排序簡單
for(t=i=0;i<40;i++){//選擇法排序
for(k=i,j=k+1;j<40;j++)
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 ",p[i]);
}
return0;
}
❸ 如何用c語言給輸入的二維數組每一行排序
可以用stdlib.h中的qsort函數
如果是int a[10][10]的話
排序第i行
qsort(a[i],10,sizeof(int),comp);
就可以了,comp是一個比較函數
int comp(const void *m1, const void *m2){
return *(int*)m1-*(int*)m2;
}
這樣就可以排序了,如果要反序,就將comp中的m1和m2互換,可以試試,如果不對可以Hi我
熱點內容