查找最小的K个元素(快速排序法思路)
来源:互联网 发布:java poi是什么意思 编辑:程序博客网 时间:2024/05/22 15:02
题目:输入n个整数,输出其中最小的k个。
例如:输入1,2,3,4,5,6,7,8这8个数字,则最小的4个数字为1,2,3,4
#include <iostream>using namespace std;const int N = 10000;int partition(int *a, int b, int e){int i = b - 1; for(int j = b; j < e; j++){if(a[j] < a[e]){i++;//交换a[i]和a[j]int tem = a[i];a[i] = a[j];a[j] = tem;}}//a[i+1]和a[e]交换int tem = a[i + 1];a[i + 1] = a[e];a[e] = tem;return i + 1;//返回合适位置}void qsort(int *a, int start, int end){if(start < end){int q = partition(a,start,end);qsort(a, start, q-1);qsort(a, q+1, end);}}void fun(int *a, int size, int k){qsort(a, 0, size - 1);//对a数组进行快速排序for(int i = 0; i < k; i++)//输出前k个最小的数cout << a[i] << " ";cout << endl;}int main(){int a[] = {3,4,8,2,1,99};fun(a, 6, 3);return 0;}
执行结果:
- 查找最小的K个元素(快速排序法思路)
- 用堆排序实现查找最小的K个元素
- 查找最小的k个元素
- 查找最小的k个元素
- 查找最小的 k个元素
- 查找最小的 K 个元素
- 查找最小的k个元素
- 5.查找最小的k个元素
- 查找最小的k个元素
- 查找最小的k个元素
- 查找最小的k个元素
- 5.查找最小的k个元素
- 查找最小的k个元素(数组)
- 查找最小的K个元素
- 查找最小的K个元素
- 查找最小的k个元素
- 查找最小的k个元素[算法]
- 查找最小的k 个元素
- Unsolved List
- ASIHTTPRequest-身份验证
- jquery 别人总结 的一些常用方法
- ASIHTTPRequest-HTTP授权-流程图
- 如何学习Unity3D
- 查找最小的K个元素(快速排序法思路)
- 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。
- spring中的bean与java中的bean区别
- Java compiler level does not match the version of the installed Java project facet.
- Hud 1102 Constructing Roads [Kruscal]
- ASIHTTPRequest-Cookie的使用
- opencv源码解析之(6):hog源码分析
- 晒晒长春的IT
- ASIHTTPRequest-数据压缩