快速排序
来源:互联网 发布:雅思口语全薇 知乎 编辑:程序博客网 时间:2024/06/09 19:07
基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
#include<stdio.h>int partition(int *a,int p,int r);int quicksort(int *a,int p,int r);int main(){ int k; int a[10]={3,4,5,10,1,7,6,9,8,2}; quicksort(a,0,9); // partition(a,0,9); for(k=0;k<9;k++) { printf("%d ",a[k]); } printf("%d\n",a[9]); return 0;}int quicksort(int *a,int p,int r){ int q=0; if(p<r) { q=partition(a,p,r); quicksort(a,p,q-1); quicksort(a,q+1,r); }}int partition(int *a,int p,int r){ int x,i,t,j; x=a[r]; i=p-1; for(j=p;j<r;j++) { if(a[j]<x) { i=i+1; t=a[i]; a[i]=a[j]; a[j]=t; } } t=a[i+1]; a[i+1]=a[r]; a[r]=t; return i+1;}
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 归并排序(2012/5/6 百度实习笔试题)
- Customizing chart bar color. Make the bar can filld with picture.
- Linux的mount命令详解
- 浅谈GPS(全球卫星定位系统)与GPRS的区别与联系
- 为virtools写的插件进行一下总结
- 快速排序
- 也谈大公司病2——减少错误不等于增加成功
- FlexPaper+SWFTools 实现仿百度文库,在线查看PDF文档
- LINUX TOP详解
- PBOC/EMV之TLV编码与解码
- 转载和积累系列 - CPU进程调度策略
- C++ vector MSDN简单入门解释
- 将SecureCRT软件生成的私钥转换为OpenSSH格式
- VS2008 Activx工程 EDIT控件如何关联Optional property name