c/c++找第k小元素代码(非排序)
来源:互联网 发布:贺卫方反对网络实名制 编辑:程序博客网 时间:2024/05/29 18:24
不用排序,c/c++找第k小元素代码
编译环境vs2013,源代码如下:
#include<iostream>using namespace std;void Sort(int k,int a[],int start,int end){ int s = a[start]; int t=start; int m = 0; for (int i = start+1; i < end+1; i++) { if (s > a[i]) { t++; if (i != t) { m = a[i]; a[i] = a[t]; a[t] = m; } } } a[start] = a[t]; a[t] = s; //cout << t << " "; if (t == k-1) { //cout << endl; cout << s<<endl; } else if (t > k-1) { Sort(k, a, start, t-1); } else { Sort(k, a, t+1, end); }}int main(){ int N,K,a[100]; cout << "请输入N" << endl; cin >> N; for (int i = 0; i < N; i++) { cin >> a[i]; } cout << "请输入K" << endl; cin >> K; Sort(K,a,0,N-1); system("pause"); return 0;}
0 0
- c/c++找第k小元素代码(非排序)
- 第K小元素问题(C++)
- C语言非排序查找第i小元素
- 查找第K小元素(C语言版)
- 算法代码实现之选出第k小元素、中位数、最小的k个元素(线性复杂度),C/C++实现
- 排序矩阵(杨氏矩阵)找从小到大的第K个数(C++)
- 寻找第k小的元素C语言
- 找包含N个元素的数组里第K大的元素(引申:快速排序、找中位数、找前K大的元素)的时间复杂度
- 快速排序求第k小元素
- 找n个数字中第k小的元素
- 第K小元素
- 第 k 小 元素
- 排序算法-快速排序(及求第K小元素)
- 在两个排序数组中查找第k小元素
- 【算法】快速排序/数组第K小的元素
- 快速排序以及找到第k小的元素
- 基于快速排序寻找第k小元素
- 在随机序列中,利用冒泡排序查找第K小(或者第K大)的元素
- Alamofire源码解读系列(二)之错误处理(AFError)
- python简单通用框架
- validate中submitHandler采用ajaxsubmit导致表单重复提交
- 最小生成树之Kruskal算法 HDU 1233 还是畅通工程
- uva524 素数环 —— 回溯
- c/c++找第k小元素代码(非排序)
- 算法2.6&2.7快速排序
- javaweb的学习路线
- thinkphp syntax error ,unexpected ‘$this’(T_VARIABLE) 报错
- socket通信乱码问题
- PAT-B 1022. D进制的A+B (20)
- 在不同浏览器中调试javaScript代码(二)
- 深入理解Android之Gradle
- [BZOJ1006][[HNOI2008]神奇的国度][MCS,完美消除序列]