快速排序
来源:互联网 发布:c语言教程电子书 编辑:程序博客网 时间:2024/05/22 07:44
#include <iostream>using namespace std;const int SIZE=50;void sort(int arr[],int l,int r);int main(){ int arr[SIZE],i,no; cin>>no; for (i=0;i<no;i++) cin>>arr[i]; sort(arr,0,no-1); for (i=0;i<no;i++) cout<<arr[i]<<" "; cout<<endl; return 0;}void sort(int arr[],int l,int r){ if(l<r) { int i=l,j=r,x=arr[l]; while(i<j) { while(i<j && arr[j]>=x) j--; if(i<j) arr[i++]=arr[j]; while(i<j && arr[i]<x) i++; if(i<j) arr[j--]=arr[i]; } arr[i]=x; sort(arr,l,i-1); sort(arr,i+1,r); }}
#include <algorithm>using std::swap;void sort(int* a, int n){if(n<=1) return;if(n==2){if(a[1]<a[0]) swap(a[1],a[0]);return;}swap(a[n/2],a[0]);int jie=a[0];int* L=a+1;int* R=a+n-1;while(L<R){while(L<R&&*L<jie) ++L;while(a<R&&!(*R<jie)) --R;if(L<R) swap(*L,*R);}if(*R<jie) swap(*R,a[0]);sort(a, R-a);sort(R+1,n-1-(R-a));}
#include <iostream>using namespace std;#include <ctime>void sort(int* a, int n);int main(){const int N=10240;int a[N];for(int i=0; i<N; i++)a[i] = N-i;for(int i=0; i<10; i++)cout << a[i] << ' ';cout << endl;clock_t t1 = clock();sort(a,N);clock_t t2 = clock();cout << double(t2-t1)/CLOCKS_PER_SEC << endl;for(int i=0; i<10; i++)cout << a[i] << ' ';cout << endl;}
引用v_JULY_v的博客:
快速排序算法:http://blog.csdn.net/v_july_v/article/details/6116297
快速排序算法的深入分析:http://blog.csdn.net/v_JULY_v/article/details/6211155
快速排序算法之所有版本的c/c++实现:http://blog.csdn.net/v_JULY_v/article/details/6262915
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 插入排序
- 定位Oops的具体代码行
- poj 3134 Power Calculus (IDA*)
- 计算机科学期刊介绍--各种杂志投稿方式与评价
- 24 java 常用的方法
- 快速排序
- 开发过程中如何提高用户体验(1)
- 数据结构、算法与应用--类
- Git 和 GitHub学习更多资料
- OSB 自定义XPath Function
- toad 显示某一用户下的所有表结构信息
- iphone imei查询方法
- ffmpeg采集视频+压缩转码成h264+实时播放。
- 关于“CSDN提问”的瞎想