快速排序--递归算法
来源:互联网 发布:好看的美剧 知乎 编辑:程序博客网 时间:2024/05/16 11:02
快速排序--递归算法
#include<iostream>#include<string>#include<cstdio>#include<algorithm>#include<cmath>#include<iomanip>#include<queue>#include<cstring>#include<map>using namespace std;typedef long long ll;#define pi 3.14159265358979#define inf 0x7fffffffint a[100005];void qsort(int l,int r){ int i,j,p,mid; i=l;j=r; mid=a[(l+r)/2]; do { while(a[i]<mid) i++; while(a[j]>mid) j--; if(i<=j) { p=a[i];a[i]=a[j];a[j]=p; i++;j--; } }while(i<=j); if(l<j) qsort(l,j); if(i<r) qsort(i,r);}int main(){ int i,n; while(scanf("%d",&n)!=EOF) { for(i=1;i<=n;i++) { scanf("%d",&a[i]); } qsort(1,n); for(i=1;i<=n;i++) printf("%d ",a[i]); } return 0;}
二分查找
#include<iostream>#include<string>#include<cstdio>#include<algorithm>#include<cmath>#include<iomanip>#include<queue>#include<cstring>#include<map>using namespace std;typedef long long ll;#define pi 3.14159265358979#define inf 0x7fffffffint a[100005],m;void jc(int l,int r){ int mid=(l+r)/2; if(a[mid]==m) cout<<"The number in "<<mid<<endl; if(l>r) {printf("NO found!\n");return;} if(a[mid]<m) jc(mid+1,r); if(a[mid]>m) jc(l,mid-1);}int main(){ int i,n; while(scanf("%d",&n)!=EOF) { for(i=1;i<=n;i++) scanf("%d",&a[i]); cin>>m; jc(1,n); } return 0;}
阅读全文
0 0
- 快速排序,递归算法
- 快速排序递归算法
- 快速排序算法(递归)
- 快速排序递归算法
- 递归算法 快速排序
- 快速排序--递归算法
- 非递归快速排序算法
- 快速排序非递归算法
- 数组 快速排序 递归算法
- 快速排序非递归算法
- 快速排序(非递归算法)
- 递归算法之快速排序
- 快速排序 非递归算法
- 非递归快速排序算法
- 快速排序(递归算法)分析
- 快速排序算法:非递归
- 快速排序的递归算法
- 快速排序(递归算法)
- 南阳oj119--士兵杀敌(三)(求最大值和最小值的差值)
- hdu 2612 Find a way bfs
- 【Java编程】Java复制文件夹及里面所有文件
- java基础——网络编程
- 第十三天总结
- 快速排序--递归算法
- 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
- DL里面关于epoch、 iteration和batchsize
- git 设置大小写敏感
- react-native redux学习心得
- API接口Cloneable
- Python:创建一个新的文件
- Linux应用开发———编译程序提示“对“xxxxxx”未定义的引用”
- 处理插入数据库乱码问题