ChinaUnix.net
相关文章推荐:

qsort结构体

[code]#include #include #include int num[100]; char name[100][10]; int mark[100]; int tag[100]; int n1,n2; int comp(const void *a,const void *b);//比较函数 main() { int i,k=0; while(scanf("%d%d",&n1,&n2)&&n1) { for(i=0;iqsort(tag,n1,sizeof(int),...

by 我是害虫 - C/C++ - 2008-03-12 00:36:55 阅读(1132) 回复(0)

相关讨论

[code]int (*qscmp)(); int qses; qsort(a, n, es, fc) char *a; int n, es; int (*fc)(); { qscmp = fc; qses = es; qs1(a, a+n*es); } qs1(a, l) char *a, *l; { register char *i, *j, *es; char *lp, *hp; int n, c; es = qses; start: if((n=l-a) <= es) return; n = ((n/(2*es))*es) & 077777; hp = lp = a+n; i = a; j = l-es; for(;;) { if(i < lp) { if((c = (*qscmp)(i, lp)) == 0) { ...

by xzh2002 - C/C++ - 2004-01-24 23:20:45 阅读(688) 回复(0)
by ivhb - C/C++ - 2010-12-18 12:56:53 阅读(4735) 回复(10)

1. gcc version 4.1.2 2. 部分源码: int compare_name( dir_ const *a, dir_ const *b) {   return strcmp(a->name, b->name); }   int sort_dirs(dir_ *dirs, int dir_index) {   qsort(dirs,dir_index,sizeof(dir_),compare_name);   return 0; } 3. 编译时: gcc -c -Wall -O2 -fPIC -I../include -o ../src/log/rollover.o ../src/log/rollover.c ../src/log/rollover.c: In function...

by tessykandy - C/C++ - 2009-04-10 13:42:04 阅读(4510) 回复(3)

C版第一个问题: 如何对一维指针数组排序? 问题很简单,我要对一个一维数组排序,用标准库的qsort函数,但现在有个问题,我的一维数组内存放的不是真正的数据,而是数据的指针,我的排序函数却已经写好了,是对数据进行排序的,不能改动,如何利用原有的函数对存放指针的一维数组排序? [ 本帖最后由 newbuding 于 2008-5-31 17:07 编辑 ]

by newbuding - C/C++ - 2008-06-01 20:34:35 阅读(6911) 回复(13)
by eagle79 - C/C++ - 2003-03-07 17:25:30 阅读(1849) 回复(5)

线程编程刚学。。。所以很多函数的使用不太理解。。。 另外,排序每次的 left,right都要进行修改,使用全局变量不能控制么。。。求助!!!

by wenqing_9115 - C/C++ - 2009-05-20 14:21:01 阅读(1663) 回复(5)

[code]#include #include #define GETY(a, b) ((double)((a[3] - a[1]) * (b - a[0]) / (a[2] - a[0])) + a[1]) #define MAX(a, b) ((a) > (b)) ? (a) : (b) #define MIN(a, b) ((a) < (b)) ? (a) : (b) int LINE2[32 * 1024][4]; double LINE3[512 * 1024][7]; int cmp(const void *a, const void *b) { double x, y; x = ((double *)a)[0]; y = ((double *)b)[0]; if( x > y ) return 1; if( x ...

by lovelyarry - C/C++ - 2007-04-09 18:32:48 阅读(2361) 回复(1)

[code] #include void swap(int & a, int &b) { int t = a; a = b; b = t; } void quicksort(int data[], int first, int last) { int lower = first+1; int upper = last; swap(data[first], data[(first+last)/2]); int bound = data[first]; while(lower <= upper) { while(data[lower]

by fannyth - C/C++ - 2007-03-12 12:31:28 阅读(1248) 回复(4)

一开始还以为是程序写错了,后来在真实的Linux环境下运行就是ok的。 请问各位大侠,知道是什么原因么

by clilye - 程序开发 - 2006-06-15 08:39:29 阅读(968) 回复(6)