c语言字符数组冒泡排序 C语言,如何对二维数组进行按列排序?
浏览量:1328
时间:2021-03-11 03:01:45
作者:admin
C语言,如何对二维数组进行按列排序?
在C语言中,二维数组是按行存储的,每行排序都很方便。每一行可以看作一个一维数组,排序函数可以用来直接排序。
但是,对每列进行排序不能直接视为一维数组。但是,第j列a[0。。。M-1][J]仍然可以作为一维数组进行逻辑排序。下面是气泡排序的示例。
按列对二维数组排序后,进一步说明如何调用快速排序函数按行排序。
程序源代码:。
C语言怎样对二维数组中每个元素进行选择排序?
参考代码:#include<stdio。H>
#包括“标准库”。H “
#包含”时间。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){//赋值给2D数组
for(J=0j<8printf(”=“,a[I][J]=Rand() 0))
printf(”n“)}]printf(”排序后: “)
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
打印f(T%8?“=”:“=n”,P[i
]}]返回0
}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
菜单递归 递归啥意思