第k小元
来源:互联网 发布:翼龙贷 网数据档案 编辑:程序博客网 时间:2024/05/17 06:59
/*第k小元*/#include <iostream>#include <cstdlib>using namespace std;#define N 10int a[N]={1,3,5,6,3,8,9,10,11,23};void swap(int i,int j);int partition(int begin,int end);void select(int k,int &x);void print();int main(){int x;select(4,x);cout << x;return 0;}void select(int k,int &x){int j,begin=0,end=N-1;do{j = rand()%(end-begin+1)+begin;/*产生随机数在begin-end中*/swap(j,begin);j = partition(begin,end);if(k == j+1){x = a[j];return;}else if(k < j+1){end = j;}else{begin = j+1;}}while(begin <= end);}int partition(int begin,int end){int i = begin,j = end+1;do{do{i++;}while(a[i] < a[begin]);do{j--;}while(a[j] > a[begin]);if(i <= j){swap(i,j);}}while(i<=j);swap(begin,j);return j;}void swap(int i,int j){int tmp;tmp = a[i];a[i] = a[j];a[j] = tmp;}
0 0
- 第k小元
- 寻找第k元
- 第K小元素
- 第 k 小 元素
- 第 K 小值
- 第k小路径
- #190. 第k小
- 第k小因子
- 区间第k小
- 寻找给定区间内的第k小(大)的元…
- 第k小的元素
- 寻找第k小元素
- 获得第k小元素
- 求第k小元素
- 【9204】第k小整数
- 第k小的数
- 第K小邪恶数
- 第k小的数
- 推送要注意的
- 在 Linux 平台下使用 JNI
- 训练:用gfsh执行常见的任务
- node 小结
- BeanFactory和FactoryBean
- 第k小元
- SQL语句的执行原理分析
- 鼠标右键在当前文件夹运行CMD
- STM32按键中断学习记录
- Linux mount(挂载)命令详解
- jquery.autocomplete.js 使用备忘
- linux中shell变量$#,$@,$0,$1,$2的含义解释
- OS程序开发概览(版本稍微老了一些)
- javasee的总结