qsort()函数详解
来源:互联网 发布:淘宝好评返现怎么写 编辑:程序博客网 时间:2024/05/16 06:31
** 关于快排函数的一些说明 **
qsort,包含在stdlib.h头文件里,函数一共四个参数,没返回值.一个典型的qsort的写法如下:
** 关于快排的一些小问题 **
就是3a,3b,3c这样的排列,所以在某些特定场合我们要用结构体来使其稳定(No.6的例子就是说明这个问题的)
** 举例说明 **
No.1.手工实现QuickSort
#include <stdio.h>
int a[100],n,temp;
void QuickSort(int h,int t)
{
}
int main()
{
}
No.2.最常见的,对int数组排序
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int s[10000],n,i;
int cmp(const void *a, const void *b)
{
}
int main()
{
}
No.3.对double型数组排序,原理同int
这里做个注释,本来是因为要判断如果a==b返回0的,但是严格来说,两个double数是不可能相等的,只能说fabs(a-b)<1e-20之类的这样来判断,所以这里只返回了1和-1
#include <stdio.h>
#include <stdlib.h>
double s[1000];
int i,n;
int cmp(const void * a, const void * b)
{
}
int main()
{
}
No.4.对一个字符数组排序.原理同int
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char s[10000],i,n;
int cmp(const void *a,const void *b)
{
}
int main()
{
}
No.5.对结构体排序
注释一下.很多时候我们都会对结构体排序,一般这个时候都在cmp函数里面先强制转换了类型,不要在return里面转,我也说不清为什么,但是这样程序会更清晰,并且绝对是没错的. 这里同样请注意double返回0的问题.
#include <stdio.h>
#include <stdlib.h>
struct node
{
} s[100];
int i,n;
int cmp(const void *a,const void *b)
{
}
int main()
{
}
No.6.对结构体排序.加入no来使其稳定(即data值相等的情况下按原来的顺序排)
#include <stdio.h>
#include <stdlib.h>
struct node
{
} s[100];
int i,n;
int cmp(const void *a,const void *b)
{
}
int main()
{
}
No.7.对字符串数组的排序(char s[][]型)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char s[100][100];
int i,n;
int cmp(const void *a,const void *b)
{
}
int main()
{
}
No.8.对字符串数组排序(char *s[]型)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *s[100];
int i,n;
int cmp(const void *a,const void *b)
{
}
int main()
{
}
9、计算几何中求凸包的cmp
int cmp(const void *a, const void *b)
{
}
- qsort函数详解
- qsort()函数详解
- qsort函数详解
- qsort函数详解
- qSort()函数详解
- C语言qsort函数详解
- C语言qsort函数详解
- C语言qsort函数详解
- C语言qsort函数详解
- 详解qsort函数的用法
- qsort函数和bsearch函数详解
- sort函数和qsort的用法详解
- C语言标准库函数 qsort函数详解
- C qsort和C++ sort函数详解
- c++排序函数(sort() && qsort())详解
- C语言中qsort函数用法详解
- qsort详解
- qsort详解
- poj 2421 Constructing Roads 并查集+最小生成树
- 中科燕园GIS外包----机场工程地理信息系统EGIS
- logcat 命令使用方法
- [费用流] acdream 1171 Matrix sum
- android 隐应用图标
- qsort()函数详解
- VS找不到“转到定义”选项
- 第155天
- java中的排序除了冒泡以来, 再给出一种方法, 举例说明
- poj3020 二分图匹配 最大独立集
- RTMP,RTSP,HLS比较与分析
- Java Debug Ten Rules
- 信息增益 熵 信息增益率
- Streaming Video with RTSP and RTP