求第k大数
来源:互联网 发布:ipad清理垃圾软件 编辑:程序博客网 时间:2024/05/18 00:01
算法描述
设第k个数为标准比a[k-1]大的数放到其左边,比他小的,放到其右边,其中保持a[k-1]是前k个数中最大的值
#include<iostream>
#include<string>
using namespace std;
int a[10000];
//寻找前k个数中的最大值
int found(int k){
int i;
int max=a[0],flag=0;
for(i=0;i<k;i++)
if(max<a[i]){
max=a[i];
flag=i;
}
return flag;
}
void change(int &a,int &b){
if(a==b)
return;
int t;
t=a;
a=b;
b=t;
}
int main()
{
int n,k,i,flag;
while(cin>>n>>k){
memset(a,0,sizeof(a));
if(k>n)
continue;
for(i=0;i<n;i++)
cin>>a[i];
flag=found(k);
change(a[flag],a[k-1]);
for(i=k;i<n;i++){
if(a[i]<a[k-1]){
change(a[i],a[k-1]);
flag=found(k);
change(a[flag],a[k-1]);
}
}
cout<<a[k-1]<<endl;
}
return 0;
}
- 求第k大数
- 求第k大数
- 求第k大数
- 求第k大数
- [HDU3292] 求第K大数
- 随机伪快排法 求第k大数
- 求数组中第K大数
- 使用STL求第K大数
- N个数,求第K大数
- 求数组的第k大数
- BFPRT算法求第k大数
- 求序列第K大数 POJ2104
- HDU 4006 求第k大数 treap
- 求第K大数[STL:nth_element]
- N个数,求第K大数
- 快速排序与求第k大数
- N个数,求第K大数
- 堆的应用!--求第k大数
- Chrome学习之LazyInstance
- PHP 中使用 Smarty 之二:配置文件在模板变量中的使用
- request.getcontextPath()_详解
- ASIHttpRequest 类库的使用说明
- 《与Java相恋》(初级篇)三-Java新特性(一)
- 求第k大数
- 一些操作系统中的专业名词
- C地址打印
- 谐响应算例
- 新手学习数据结构与算法---单链表(C++版, 跟C还是有点差别的)
- 页面替换算法
- 初学DOS,最基本的命令
- ImageIO.read()方法读取图片后重写,图片蒙上一层红色的解决办法(上)
- Eclipse如何创建dynamic web project项目