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自定义函数 

你可能感兴趣的:(C与C++)