在大小为N的未排序数组中查找K个最小整数

时间:2014-01-18 05:02:34

标签: c++

我遇到了一个程序问题: 编写 C ++程序,从N个给定整数的数组中查找K个最小整数。 例如,如果N = 5,K = 2,则阵列为7,5,-1,4,2 该程序应输出-1,2。 不能使用其他阵列。 可以使用 NO排序。 数组元素的值无法更改。 我已经尝试了很长时间而且卡住了。 任何想法都会有很大的帮助。 谢谢!

1 个答案:

答案 0 :(得分:0)

使用2个变量,即smallsmallest

  1. 迭代给定数组的每个元素。

  2. 将元素与small进行比较。

  3. 如果小于small,请将其与smallest进行比较。

  4. 如果小于smallest,请将smallest的值分配给small,将元素分配给smallest

  5. 否则,请将元素指定给small

  6. 您仍然需要弄清楚如何初始化smallsmallest,以使比较按预期工作。提示:限制!

    当然,这不适用于K> 2.如果您事先不知道K,则需要一个容器来存储结果,并将元素与它们进行比较。如果你不能使用额外的容器,祝你好运!