算法导论第7章—快速排序
来源:互联网 发布:2017淘宝成交额 编辑:程序博客网 时间:2024/06/06 04:02
快速排序
#include<iostream>using namespace std;void Print(int *A,int p,int r){for(int i=p;i<=r;i++)cout<<A[i]<<" ";cout<<endl;}int Partition(int *A,int p,int r){int x=A[r];int i=p-1;for(int 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){if(p<r){int q=Partition(A,p,r);QuickSort(A,p,q-1);QuickSort(A,q+1,r);}}int main(){int A[100];int p,r;cout<<"请输入p,q的值:";cin>>p>>r;cout<<"请输入数字:";for(int i=p;i<=r;i++)cin>>A[i];cout<<"快速排序前:";Print(A,p,r);cout<<"快速排序后:";QuickSort(A,p,r);Print(A,p,r);return 0;}
随机化版本:
#include<iostream>#include<ctime>#include<cstdlib>using namespace std;void Print(int *A,int p,int r){for(int i=p;i<=r;i++)cout<<A[i]<<" ";cout<<endl;}int Partition(int *A,int p,int r){int x=A[r];int i=p-1;for(int 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;}int Randomized_Partition(int *A,int p,int r){srand(time(NULL)); //生成随机数int i=rand()%(r-p)+p;swap(A[r],A[i]);return Partition(A,p,r);}void Randomized_QuickSort(int *A,int p,int r){if(p<r){int q=Randomized_Partition(A,p,r);Randomized_QuickSort(A,p,q-1);Randomized_QuickSort(A,q+1,r);}}int main(){int A[100];int p,r;cout<<"请输入p,q的值:";cin>>p>>r;cout<<"请输入数字:";for(int i=p;i<=r;i++)cin>>A[i];cout<<"快速排序前:";Print(A,p,r);Randomized_QuickSort(A,p,r);cout<<"快速排序后:";Print(A,p,r);return 0;}
0 0
- 【算法导论 第7章 快速排序】
- 算法导论 第7章 快速排序
- 《算法导论》 第7章 快速排序
- 算法导论 第7章 快速排序
- 算法导论-第7章 - 快速排序
- 【算法导论 第7章 快速排序】
- 算法导论第7章—快速排序
- 算法导论-第7章-快速排序算法
- 算法导论学习笔记-第7章 快速排序
- 算法导论代码 第7章 快速排序
- 《算法导论》第7章 快速排序 (四种变形)
- 算法导论第7章快速排序答案
- 算法导论 第7章 快速排序 学习总结
- 《算法导论》笔记 第7章 7.4快速排序分析
- 算法导论学习笔记 第7章 快速排序
- 《算法导论》第7章 快速排序 个人笔记
- 《算法导论》 — Chapter 7 快速排序
- 算法导论—快速排序
- postgresql insert 出现duplicate key value violates unique constraint错误
- Java与模式-观察者模式
- Android开发历程之五
- LeetCode | Combination Sum II(元素的和---2)
- C语言入门——C语言学习日志8
- 算法导论第7章—快速排序
- 理想运放输入阻抗无穷大,输出阻抗无穷小
- (有坑可复习)poj 1083 Moving Tables 模拟/贪心/技巧性质
- Single Number
- Maximum Depth of Binary Tree
- UITableView实现网格视图效果GridView
- session
- 最长回文字串-manacher算法
- poj 2723 2-SAT