16.最小的k个数

输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。


代码:


16.最小的k个数_第1张图片
参考代码


解题思路:定义一个大小为k的容器存储k个最小值。每次从input中取出数据进行比对,如果数据源data 比 容器中的最大值还小,那么删除容器中的最大值,然后将data中的值存进去。此种方法适合数据量较大,不能一次性存储到内存,我们借用辅助控件,一次读取一个数值进行比对,另一个优点是我们没有对源数据进行修改。

你可能感兴趣的:(16.最小的k个数)