ChinaUnix.net
相关文章推荐:

qsort 结构体数组排序

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

by newbuding - C/C++ - 2008-06-01 20:34:35 阅读(6911) 回复(13)

相关讨论

[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)

在用户态,我们有qsort这个函数可用,很方便? 请问内核态有类似的API嘛?

by lostiger - 内核源码 - 2011-10-16 17:38:30 阅读(1734) 回复(2)

网上搜了下,能对结构数组排序,但自己对结构链表排序时始终是不行,问下,大家qsort函数能对结构链表排序吗?

by wolaiye05 - C/C++ - 2010-11-24 08:30:30 阅读(5128) 回复(9)

排序用位图向量实现,qsort就是c库的函数 公平起见,桶排序构造桶(也就是位图向量)的malloc时间计算在内。 数据由random产生(好像每次重新运行,都一样的。。。)

by peidright - C/C++ - 2010-02-13 00:15:17 阅读(2602) 回复(6)

[color="#993366"]二分法查找 [color="#0000ff"]1、二分查找(Binary Search)  二分查找又称折半查找,它是一种效率较高的查找方法。  二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。 [color="#0000ff"]2、二分查找的基本思想  二分查找的基本思想是:(设R[low..high]是当前的查找区间) (1)首先确定该区间的中点位置: ...

by ubuntuer - Linux文档专区 - 2009-03-22 14:29:38 阅读(1447) 回复(0)

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

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

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

by clilye - Linux环境编程 - 2006-06-15 08:39:29 阅读(1692) 回复(6)

[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)

七种qsort排序方法 一、对int类型数组排序 int num[100]; Sample: int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp); 二、对char类型数组排序(同int类型) char word[100]; Sample: int cmp( const void *a , const void *b ) { return *(char *)a - *(int *)b; } qsort(word,100,sizeof(word[0]),cmp); 三、对double类型数组排序(特别要注意...

by tancotq - Linux文档专区 - 2009-07-19 00:15:33 阅读(1043) 回复(0)