标签:style ase 技术分享 img 二维数组 返回 理解 ons http
qsort:快速排序函数
使用格式:
void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));
1 /*一维数组从小到大*/ 2 int cmp(const void *a,const void *b) 3 { 4 return *(int*)a-*(*int)b; 5 } 6 /*一维数组从大到小*/ 7 int cmp(const void *a,const void *b) 8 { 9 return *(*int)b-*(int*)a; 10 }
二维数组:
1 /*二维数组按照第二行元素从小到大排序*/ 2 int cmp(const void*a,const void*b) 3 { 4 return ((int*)a)[1]-((int*)b)[1]; 5 }
字符串:
1 int Comp(const void*p1,const void*p2) 2 { 3 return strcmp((char*)p2,(char*)p1); 4 }
结构体:
一个元素:
1 int cmp(const void*p1,const void*p2) 2 { 3 return (*(Node*)p2).data>(*(Node*)p1).data?1:-1; 4 }
多个元素:
1 int cmp(const void*p1,const void*p2) 2 { 3 if(p1->x!=p2->x) 4 { 5 return p1->x-p2->x; 6 } 7 else{ 8 if(p1->y!=p2->y) 9 { 10 return p1->y-p2->y; 11 } 12 else 13 { 14 return p1-z-p2->z; 15 } 16 } 17 }
结构体中的字符串:
1 int cmp(const void*p1,const void*p2) 2 { 3 return strcmp((*(Node*)p1).str,(*(Node*)p2).str); 4 }
如果还有其他排序依据可以在比较函数中处理。
标签:style ase 技术分享 img 二维数组 返回 理解 ons http
原文地址:http://www.cnblogs.com/Young-C/p/7810906.html