qsort在中排序函数的使用应用_第1页
qsort在中排序函数的使用应用_第2页
qsort在中排序函数的使用应用_第3页
qsort在中排序函数的使用应用_第4页
免费预览已结束,剩余7页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在c+中 qsort()排序函数的使用 qsort 函数应用大qsort本文中排序都是采用的在c+中 qsort()排序函数的使用 qsort 函数应用大qsort *(double *)b ? 1 : -四、对结构体一级排struct double cmp( const void *a ,const void return (*(In *)a)-data (*(In *)B)-data ? 1 : -五、对结构体二级排struct xxycmp( const void , const void )structIn*c=(In struct In *d = if(c-x 五、对结构体二级排st

2、ruct xxycmp( const void , const void )structIn*c=(In struct In *d = if(c-x d-c-x - d-d-y - c-六、对字符串进行排struct char strcmp ( const void *a , const )return strcmp( (*(In *)a)-str *)B)-七、计算几何中求凸包的 structpo struct void *a,const void cmp1x,c-y,p1.x,p1.y) dis(d-x,d-y,p1.x,p1.y) / 如果在一条直线上,则把远的放return else

3、return -面c+中加载头文件 cqsort的头文件里,strcmp/*qsortP.S.:qsortn*log(n),voidqsort(void*base,size_tnelem,size_t(*Comp)(constvoidc+中加载头文件 cqsort的头文件里,strcmp/*qsortP.S.:qsortn*log(n),voidqsort(void*base,size_tnelem,size_t(*Comp)(constvoid*,const为数组元素的大小()(*Comp)(constvoid*p1,constvoid*p2)p1p2,函数返回-1;ab,1;a=b0。例子

4、 1:对一维数组进行#include #include Comp(const void *p1,const void *p2 return *)p1) - qsort(list, 10,sizeof(f(%d return 0;例子 2:对字符串进行排#include #include #include Comp(const void *p1,const void return strcmp(char *)p1,(char char return 0;例子 3:按结构体中某个关键字排序(#include Comp(const void *p1,const void return strcmp(

5、char *)p1,(char char return 0;例子 3:按结构体中某个关键字排序(对结构体一级排序#include #include struct cmp(const void *a, const void return (struct ab *)a)-vote1-(struct ab *)b)-i = 0; i 5; qsort(void f(%d return 0;例子 4:按结构体中多个关键字排序(对结构体多级排序)以二级为#include #include struct abcmp(const void *a, const void if(struct ab *)a)-x

6、!=(struct ab *)b)-x) return (struct ab *)a)-x-(struct return (struct ab *)a)-y-(struct *)b)-*)b)-i = 0; i 5; qsort(void #include #include struct abcmp(const void *a, const void if(struct ab *)a)-x!=(struct ab *)b)-x) return (struct ab *)a)-x-(struct return (struct ab *)a)-y-(struct *)b)-*)b)-i = 0;

7、i 5; qsort(void f(%d %d return 0;n 对数(a,b)a a b 1 1 3 6 le#include #include usingstructleOutput 1 31 3 6 cmp(constvoid*,constvoidargc,charfor(i=0;icmp(constvoid*,constvoidargc,charfor(i=0;iqsort(voidfor(i=0;icoutnumi.aa!=(structnumber*)y)-return(structnumber*)x)-a-(structnumber*)y)-a; return(structn

8、umber*)y)-b-(structnumber*)x)-例子 5:对结构体中字符串进行排struct char cmp(const void *a, const void return strcmp(struct ab *)a)-ac,(struct ab *)b)-i = 0; i 5; qsort(void return 0;6、计算几何中求凸包的 Comp(const void *p1,const void *p2)p1struct po struct po if(cacl(*c,i = 0; i 5; qsort(void return 0;6、计算几何中求凸包的 Comp(con

9、st void *p1,const void *p2)p1struct po struct po if(cacl(*c,x,c-x,d-y,p1.x,p1.y ) return 1;return -面P.S.:qsortCstdlib.hn*log(n),voidqsort(void*base,size_tnelem,size_t(*Comp)(constvoid*,const为数组元素的大小()(*Comp)(constvoid*p1,constvoid*p2)p1p2,函数返回-1;ab,1;a=b0。又见#include #include #include struct Nodechar

10、Name100; CompY(const struct *p1,const void *p2)/year*c = (Node structNode*d=(Node if(c-Year!=d-Year) else return c-Year-d-*)p1).Name,(*(Node return strcmp(*(Node *)p1).Name,(*(Node else c-Price-d-*p1,const void *p2)/#include #include struct NodecharName100; CompY(const struct *p1,const void *p2)/yea

11、r*c = (Node structNode*d=(Node if(c-Year!=d-Year) else return c-Year-d-*)p1).Name,(*(Node return strcmp(*(Node *)p1).Name,(*(Node else c-Price-d-*p1,const void *p2)/price*c = (Node *d = (Node != d-Price) return c-Price-d-if(c-else if(strcmp(*(Node *)p1).Name,(*(Node *)p2).Name) returnstrcmp(*(Node*)

12、p1).Name,(*(Node*)p2).Name);else c-Year-d-*p1,const void *p2)/name*c = (Node *d = (Node if(strcmp(*(Node *)p1).Name,(*(Node return strcmp(*(Node *)p1).Name,(*(Node if(c-Year!=d-Year)returnc-Year-d-Year; return c-Price-d-Price;/*void f(%s %d char qsort(Book, n, else qsort(Book, qsort(Book, char qsort(Book, n, else qsort(Book, qsort(Book, return #include #include struct abcmp1(const return cmp2(const return *a, void ab *)a)-vote1-(struct ab *)b)-*a,const void ab *)a)-vote2-(struct ab *)b)-for(i=0;ij;i+)scanf(%d%d,&abci.vo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论