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;
	}
	return 1;
}


qsort(store,count,sizeof(int)*2,comp1);//store二维数组名 count行长度  sizeof(int)*2 总共两列 comp1自定义函数 

版权声明:本文为fxwentian原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。