C语⾔实现⼆维数组(列)排序
今天被⼆维数组列排序折磨了⼀上午
刚开始准备⽤冒泡排序,但是发现不怎么会对某⼀列进⾏排序
于是转⽤qsort()函数
直接上代码:
bool comp1(const void*a,const void*b)
{
if(((int*)a)[1]<((int*)b)[1])//第⼆列元素进⾏升序排序
return-1;
else if(((int*)a)[1]==((int*)b)[1]){//第⼀列元素进⾏升序排序
if(((int*)a)[0]<((int*)b)[0])
return-1;
}
return1;
}
qsort(store,count,sizeof(int)*2,comp1);//store⼆维数组名 count⾏长度 sizeof(int)*2 总共两列 comp1⾃定义函数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论