快速排序
来源:互联网 发布:古建筑设计软件 编辑:程序博客网 时间:2024/06/06 12:05
快速排序:
1.先从数列中选取一个数作为基准值;
2.分区:将比这个数大的数全放在它的右边,小于或等于的数全放在左边;
3.再对左右区间重复第二步骤,直到各区间只有一个数为止;(即递归)
这里不一一画图了,直接上程序
#include<iostream>using namespace std;void qsort(int a[],int l,int r){if(l<r) { int i=l,j=r; int pivot=a[i];//基准值 while(i<j) { while(i<j&&(a[j]>=pivot))//先从右往左找比基准值小的数 j--; if(i<j) a[i++]=a[j];//赋值给a[i],同时i++; while(i<j&&(a[i]<=pivot))//之后从左往右查找比pivot大的值,赋值给a[j],同时j--; i++; if(i<j) a[j--]=a[i]; } a[i]=pivot; qsort(a,l,i-1); qsort(a,i+1,r);}}int main(){int a[100];int n;cout<<"please input the number n:"<<endl;cin>>n;for(int i=0;i<n;i++)cin>>a[i];qsort(a,0,n-1); for(int i=0;i<n;i++)cout<<a[i]<<" ";cout<<endl;}
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 银行业务调度系统
- spring工具类AntPathMatcher
- Struts2标签s:hidden的使用
- jsp:include
- 定时关机命令
- 快速排序
- 这款小玩意可代你记住任何密码
- 我和我的恩师邓先生
- 火狐智能手机印度开卖 售价33美元
- 很值得学习 CEO口述:IMAX如何从博物馆杀进好莱坞
- linux 两台机器时间同步
- ThinkAndroid框架的注解机制
- 关于scrollLeft的赋值问题
- 【程序设计】面试写源码系列(不断更新)