分治法-快速排序
2013-04-22 23:24
197 查看
快速排序
代码如下:
运行结果:
代码如下:
#include <iostream> using namespace std; int Partition(int *data,int p,int r) { int i=p; int j=r+1; int x=data[p]; while(true) { while(data[++i]<x); while(data[--j]>x); if(i>=j) break; int temp=data[i]; data[i]=data[j]; data[j]=temp; } data[p]=data[j]; data[j]=x; return j; } void QuickSort(int *data,int p,int r) { if(p<r) { int q=Partition(data,p,r); QuickSort(data,p,q-1); QuickSort(data,q+1,r); } } int main() { int num; int *data; cin>>num; data=new int[num]; for(int i=0;i<num;i++) cin>>data[i]; QuickSort(data,0,num-1); for(int i=0;i<num;i++) cout<<data[i]<<" "; cout<<endl; }
运行结果:
相关文章推荐
- 分治法--快速排序
- 分治法举例之快速排序,归并排序
- W. :快速排序(利用分治法). 7.1,P85
- 快速排序基于分治法的思想
- 算法学习~分治法~快速排序
- 分治法之快速排序
- 算法09:快速排序——分治法Part5
- 排序4--快速(分治法)
- 分治法--快速排序
- 快速排序-合并排序(分治法运用)
- 分治法(Scheme) -- 快速排序
- 分治法--快速排序
- 【算法】分治法(快速排序,归并排序)
- 分治法_随机快速排序
- 快速排序经典算法(分治法,挖坑法,前后指针法,非递归)
- js算法:分治法-快速排序
- 分治法:用C#实现快速排序
- 快速排序(分治法)
- 分治法--快速排序
- 《常见算法和数据结构》元素排序(6)——重头戏:快速排序