`
iwebcode
  • 浏览: 2013626 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Qsort-快排

 
阅读更多

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

    A22-qsort快排.c

    qsort快排函数源代码

    C语言qsort快排函数的模版,帮助深入认识模版的快速高效的风格。

    快排归并qsortsort排序时间比较

    快排归并qsortsort排序时间比较。

    快速排序(qsort, quick sort) C语言实现

    鉴于初学C语言或C++时对快速排序算法的了解不够深入,在此上传快速排序的C语言实现代码,该实现代码具有模块化特点,并且在代码中写了注释,并在调试过程中易出错的关键地方做了标注;此外,在代码实现中添加了良好...

    快速排序算法C语言实现

    快速排序算法C语言实现快速排序算法C语言实现 www.edsionte.com/techblog

    qsort/heapsort/merge/BinarySearch/List实现

    自己写的一些简单算法和数据结构的代码 快排 堆排 归并 二分查找 单链表

    快排函数的调用qsort();

    1.快排函数的介绍: 快速排序(Quicksort)是对冒泡排序的一种改进。也是最快的一种排序算法。 2.核心思想: 快速排序算法通过多次比较和交换来实现排序,其排序流程如下:  (1)首先设定一个分界值,通过该分界值将...

    快排c语言代码,有测试函数。。。

    快排c语言代码,有测试函数。。。 快排c语言代码,有测试函数。。。 快排c语言代码,有测试函数。。。 快排c语言代码,有测试函数。。。

    自己实现的排序算法sort

    自己实现的排序算法,排序 sort qsort 快排

    qsort_design.h

    本人自己同c语言编写的一个快速排序函数。 int,double,char , 字符串 等四种类型 本人的测试通过。 由此推广 其他类型也是可正确排序的。 当然不排除 有其他未发现的问题 bug 等。...若有发现其他问题,敬请告知...

    数据结构 经典代码(ACM)

    //快排 void QSort (int low, int high) { int l, r ; Milkcow p = cow [low] ; l = low, r = high ; while (l ) { while (l [r].price &gt;= p.price) r -- ; cow [l] = cow [r] ; while (l [l]....

    C语言快速排序函数用法(qsort)

    主要为大家详细介绍了C语言的快排函数用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    leetcode题库-algorithmPractice:我的算法实践,来自leetcode和我的面试

    经常手撕快排,故特拿出来练习 unRecordPractice 没分类的一些练习 以前的练习,直接收录。 Util 工具类 一些细节 TreeNode:常用形式的树节点,包含一些工具方法。 数组生成树,前中后序遍历等 Tool 一些转换工具 ...

    MYQQ2009 - 用控制台上QQ

    3. 好友使用qsort快排。 4. 完善了event的缓冲区,和以前的webqq结合使用。 5. 使用assert函数,便于精简发布版本的代码。 Version 2.0 (2008-7-17) New featrues: 1. 包管理器的链表改用loop数据结构,精简代码,...

    myqq 2.8 编译好的程序和源程序

    3. 好友使用qsort快排。 4. 完善了event的缓冲区,和以前的webqq结合使用。 5. 使用assert函数,便于精简发布版本的代码。 Version 2.0 (2008-7-17) New featrues: 1. 包管理器的链表改用loop数据结构,精简代码,...

    MyQQ(DosQQ) 超小的精简QQ DEV-C++ 源码

    3. 好友使用qsort快排。 4. 完善了event的缓冲区,和以前的webqq结合使用。 5. 使用assert函数,便于精简发布版本的代码。 Version 2.0 (2008-7-17) New featrues: 1. 包管理器的链表改用loop数据结构,精简代码,...

    快速排序 c++版本

    c++快排,需要的朋友可以看看,其实我是为了拿分的

    leetcode提交记录怎么看-DataForOffer:学习资料库

    简述快排,如何推导时间复杂度? 主要思想:以数组第一个数为基准mid,从数组的起始位置为i,末尾为j,比较mid和位置为i的大小,如果位置为i的值小于mid,则这两个交换位置并且i增加1,否则置换i和j对应的值,j减一...

    排序实验报告.doc

    (2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出 其中两种较快的方法。 二、问题分析 1、功能分析 分析设计课题的要求,要求编程实现以下功能: (1)排序表的建立—即创建顺序表...

Global site tag (gtag.js) - Google Analytics