void quicksort(int *left,int * right){
inttmp=*left;
int*first=left;
int*last=right;
while(left!=right){
while(left!=right&&tmp<*right)right--;
*left=*right;
while(left!=right&&tmp>*right)left++;
*right=*left;
}
*left=tmp;
quicksort(first,left-1);
quicksort(left+1,last);
}
int main(char **argv){
int* arr=new int[10];
arr[0]=32;
arr[1]=22;
arr[2]=4;
arr[3]=6;
arr[4]=2;
arr[5]=8;
arr[6]=10;
arr[7]=11;
arr[8]=34;
arr[9]=12;
quicksort(&arr[0],&arr[9]);
return0;
}
Qsort-快排(单向遍历)
void swap(int *c, int* d){
int e;
e = *c;
*c = *d;
*d = e;
}
intpartition(int a[],int p,int r){
int x,i,j;
x = a[r];
i = p - 1;
for(j=p; j<=r-1; j++){
if(a[j] < x){
i++;
swap(&a[i],&a[j]);
}
}
swap(&a[i+1],&a[r]);
return i+1;
}
void quickSort(int a[],int p, int r){
int q;
if(p < r){
q = partition(a,p,r);
quickSort(a,p,q-1);
quickSort(a,q+1,r);
}
}
分享到:
相关推荐
A22-qsort快排.c
C语言qsort快排函数的模版,帮助深入认识模版的快速高效的风格。
快排归并qsortsort排序时间比较。
鉴于初学C语言或C++时对快速排序算法的了解不够深入,在此上传快速排序的C语言实现代码,该实现代码具有模块化特点,并且在代码中写了注释,并在调试过程中易出错的关键地方做了标注;此外,在代码实现中添加了良好...
快速排序算法C语言实现快速排序算法C语言实现 www.edsionte.com/techblog
自己写的一些简单算法和数据结构的代码 快排 堆排 归并 二分查找 单链表
1.快排函数的介绍: 快速排序(Quicksort)是对冒泡排序的一种改进。也是最快的一种排序算法。 2.核心思想: 快速排序算法通过多次比较和交换来实现排序,其排序流程如下: (1)首先设定一个分界值,通过该分界值将...
快排c语言代码,有测试函数。。。 快排c语言代码,有测试函数。。。 快排c语言代码,有测试函数。。。 快排c语言代码,有测试函数。。。
自己实现的排序算法,排序 sort qsort 快排
本人自己同c语言编写的一个快速排序函数。 int,double,char , 字符串 等四种类型 本人的测试通过。 由此推广 其他类型也是可正确排序的。 当然不排除 有其他未发现的问题 bug 等。...若有发现其他问题,敬请告知...
//快排 void QSort (int low, int high) { int l, r ; Milkcow p = cow [low] ; l = low, r = high ; while (l ) { while (l [r].price >= p.price) r -- ; cow [l] = cow [r] ; while (l [l]....
主要为大家详细介绍了C语言的快排函数用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
经常手撕快排,故特拿出来练习 unRecordPractice 没分类的一些练习 以前的练习,直接收录。 Util 工具类 一些细节 TreeNode:常用形式的树节点,包含一些工具方法。 数组生成树,前中后序遍历等 Tool 一些转换工具 ...
3. 好友使用qsort快排。 4. 完善了event的缓冲区,和以前的webqq结合使用。 5. 使用assert函数,便于精简发布版本的代码。 Version 2.0 (2008-7-17) New featrues: 1. 包管理器的链表改用loop数据结构,精简代码,...
3. 好友使用qsort快排。 4. 完善了event的缓冲区,和以前的webqq结合使用。 5. 使用assert函数,便于精简发布版本的代码。 Version 2.0 (2008-7-17) New featrues: 1. 包管理器的链表改用loop数据结构,精简代码,...
3. 好友使用qsort快排。 4. 完善了event的缓冲区,和以前的webqq结合使用。 5. 使用assert函数,便于精简发布版本的代码。 Version 2.0 (2008-7-17) New featrues: 1. 包管理器的链表改用loop数据结构,精简代码,...
c++快排,需要的朋友可以看看,其实我是为了拿分的
简述快排,如何推导时间复杂度? 主要思想:以数组第一个数为基准mid,从数组的起始位置为i,末尾为j,比较mid和位置为i的大小,如果位置为i的值小于mid,则这两个交换位置并且i增加1,否则置换i和j对应的值,j减一...
(2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出 其中两种较快的方法。 二、问题分析 1、功能分析 分析设计课题的要求,要求编程实现以下功能: (1)排序表的建立—即创建顺序表...