(日志,《算法导论》.7)快速排序,代码
来源:互联网 发布:wpf编程宝典c 编辑:程序博客网 时间:2024/05/20 04:48
</pre><p><pre name="code" class="cpp">/*********************************************************************************** 程序名称 :quicksort_test功能描述 : 快速排序 修改历史 : 1.日 期 : 2015/10/6作 者 : gqkly 内容 : ************************************************************************************/ #include <iostream> #include <time.h> using namespace std; typedef int ElemType; #define N 36#define Init_A(A,n) {for(int i=0;i<n;i++)A[i]=rand()%89+10;} //#define Swap(a,b) {a=a+b;b=a-b;a=a-b;} //存在溢出问题,所以要和另一种a,b顺序相反的方法结合使用#define Swap(a,b) {int tmp;tmp=b;b=a;a=tmp;}void Quick_Sort(ElemType *A,int p,int r);ElemType Partition(ElemType *A,int p,int r);void Print(ElemType *A,char *string);int main(){int time_start=0,time_end=0;time_start=clock();srand(NULL);ElemType A[N];Init_A(A,N);//随机初始化数组Print(A,"\n初始化后的数组:");Quick_Sort(A,0,N-1);//快速排序Print(A,"\n快速排序后的数组:");time_end=clock();cout<<"\nClock time used:"<<time_end-time_start<<endl;getchar();return 0;}void Quick_Sort(ElemType *A,int p,int r){if (p<r){int q=Partition(A,p,r);Quick_Sort(A,p,q-1);Quick_Sort(A,q+1,r);}}ElemType Partition(ElemType *A,int p,int r){ElemType x=A[r]; inti=p-1;for (int j=p;j<r;j++){if (A[j]<=x){i++;Swap(A[i],A[j]);}}i++;Swap(A[i],A[r]);return i;}void Print(ElemType *A,char *string){cout.setf(ios::right,ios::adjustfield);cout<<"\n******************************************"<<endl;cout<<string<<endl;for (int i=0;i<N;i++){if (i%6==0){cout<<endl;}cout<<A[i]<<' ';}}
运行结果:
0 0
- (日志,《算法导论》.7)快速排序,代码
- 算法导论:快速排序代码
- 算法导论读书笔记(7)快速排序
- (日志,《算法导论》.6.2)堆排序,代码
- (日志,《算法导论》.8.2)计数排序,代码
- 快速排序(算法导论)
- 算法导论代码 第7章 快速排序
- 《算法导论》第七章-快速排序(伪代码)
- 算法导论-快速排序
- 【算法导论】快速排序
- 算法导论-----快速排序
- 【算法导论】快速排序
- 算法导论:快速排序
- 快速排序--【算法导论】
- [算法导论]快速排序
- [算法导论]快速排序
- 算法导论------快速排序
- 【算法导论】快速排序
- 读取外部存储的文件数据Environment.getExternalStorageDirectory()
- Eclipse web 项目转到myEclipse无法导出WAR包
- 我写过的软件之OneWorld-大世界2
- [leetcode279] perfect squares
- java将系列化后的对象保存在文件中,及反系列化 (ObjectInputStream,ObjectOutputStream)
- (日志,《算法导论》.7)快速排序,代码
- React Native系列之-React.js介绍
- 使用Git命令把本地项目上传到Github托管
- html5离线存储
- JQuery.lazyload的使用.
- hdu 5296 Annoying problem (LCA)
- C++ 函数新特性
- http://jinnianshilongnian.iteye.com/blog/2019547
- PHP数据类型转换(字符转数字,数字转字符)