c++ 库中的排序算法 qsort
来源:互联网 发布:淘宝代刷网站 编辑:程序博客网 时间:2024/06/08 01:21
qsort函数是ANSI C标准中提供的,其声明在stdlib.h文件中,是根据二分发写的,其时间复杂度为n*log(n),其结构为:
void qsort(void *base,size_t nelem,size_t width,int (*Comp)(const void *,const void *));
其中:
(* Comp)(const void *p1,const void *p2)
排序方法有很多种:选择排序,冒泡排序,归并排序,快速排序等。
看名字都知道快速排序
降序,那又怎么办?
这都可以通过定义比较函数来做到的。
比较函数的作用就是给qsort指明元素的大小是怎么比较的。
像这样的比较函数
qsort
如果你的比较函数放回本来应该是1
<span style="font-family: Arial, Helvetica, sans-serif;">#include <iostream></span>
#include <algorithm>using namespace std;
int compare1(const void* a,const void* b)//升序{int*pa=(int*)a,*pb=(int*)b;if(*pa>*pb) return -1;else if (*pa==*pb) return 0;else return 1;}
int compare2(const void* a,const void* b)//升序{int*pa=(int*)a,*pb=(int*)b;if(*pa>*pb) return 1;else if (*pa==*pb) return 0;else return -1;}void main(){int a[5]={3,2,4,5,1};<pre code_snippet_id="414600" snippet_file_name="blog_20140702_1_34978" name="code" class="html"><span style="white-space:pre"></span>qsort(a,5,sizeof(int),compare1);for(int i=0;i<5;i++)cout<<a[i]<<"\t";cout<<endl;qsort(a,5,sizeof(int),compare2);for( i=0;i<5;i++)cout<<a[i]<<"\t";cout<<endl;}
- c++ 库中的排序算法 qsort
- 调用函数库中的快速排序算法qsort()排序各种数据类型
- qsort实现排序算法
- C qsort 排序
- C语言qsort排序
- C 语言qsort排序算法的使用总结
- c语言自带的排序算法qsort
- C和C++库中的排序函数——sort与qsort解析
- C语言中的快速排序 qsort函数详解
- 如何利用C语言中的qsort库函数实现快速排序?
- 如何利用C语言中的qsort库函数实现快速排序
- c中的qsort
- C语言中的qsort
- C中的qsort函数
- c中的qsort使用
- C中的qsort函数
- C中的qsort()用法
- 快速排序算法(qsort)
- 天津大学考研经历
- Fedora20操作系统初体会
- hdu1455 dfs搜索之凑棍子
- 黑马程序员——黑马学习日志之六 静态,单例设计模式,继承,多态
- 随笔灬1
- c++ 库中的排序算法 qsort
- 【java】接口的作用|实例讲解java接口
- LeetCode 75 Sort Colors
- IOS--UITableView,UITableViewCell介绍
- HDU 4115 Eliminate the Conflict (2-SAT)
- 页面进度条事件
- CGAffineTransformMakeRotation 实现旋转
- linux下IPTABLES配置详解
- Oracle起步学习(二)---简单的数据库初始操作、用户管理