快速排序
来源:互联网 发布:万网注册域名流程 编辑:程序博客网 时间:2024/05/22 16:13
分治法,排列(l,r),找到指定元素的最终位置key(左边均小于key,右边均大于key),然后递归(l,key-1),(key+1,r)
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;#define T 1000000#define INF 999999int n,a[T],b[T];//快速排序void qsort(int *a,int l,int r){ if(l>=r) return ; int key=l,x=l,y=r; while(x<y) { while(y>x) { if(a[key]>a[y]) { swap(a[key],a[y]); key=y; break; } y--; } while(y>x) { if(a[key]<a[x]) { swap(a[key],a[x]); key=x; break; } x++; } } qsort(a,l,key-1); qsort(a,key+1,r); return ;}int main (){ while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) scanf("%d",&a[i]); qsort(a,0,n-1); int p=(n+1)/2; printf("%d\n",a[p-1]); } return 0;}
阅读全文
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 欢迎使用CSDN-markdown编辑器
- Python 输入与输出
- PAT basic 1063
- Android中的动画1(补间动画)
- node 获取当前文件路径
- 快速排序
- 目录:《C++程序设计教程》-传智播客
- 迭代和协程
- PAT basic 1064
- python argparse (2)
- 【CodeForces
- spring整合dubbo时xml配置文件问题
- PAT basic 1065
- iOS使用MobileVLCKit播放rtsp视频流