首页 > 代码库 > qsort对二维数组的排序
qsort对二维数组的排序
转自 :http://blog.csdn.net/slience_perseverance/article/details/6695048
qsort对二维数组排序与对以为数组排序是一样的几乎没有什么差别,而且后来想想定义一个二维数组所占的空间与定义一个机构体所占的空间是一样
的,所以没有必要用多维数组,直接用结构体数组就行。
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int cmp(const void *a,const void *b) { int *c = (int *)a; int *d = (int *)b; if(*c != *d) return *c - *d; return *(d+1) - *(c+1); } int main() { int i, j; int a[6][2]={{1,6},{1,7},{3,9},{3,9},{4,10},{4,12}}; for(i=0;i<6;i++) { for(j=0;j<2;j++) printf("%d ",a[i][j]); printf("\n"); } printf("\n"); qsort(a,6,sizeof(a[0]),cmp); for(i=0;i<6;i++) { for(j=0;j<2;j++) printf("%d ",a[i][j]); printf("\n"); } system("pause"); return 0; }
qsort对二维数组的排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。