在 C++ 中的范围较小的无序数组中查找第 k 个最小/最大值


在本教程中,我们将编写一个程序来查找无序数组中的第 k 个最小数字。

让我们看看解决问题的方法。

  • 初始化数组和 k。
  • 使用 sort 方法对数组排序。
  • 从带有索引 k - 1 的数组中返回值。

让我们看看代码。

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
int findKthSmallestNumber(int arr[], int n, int k) {
   sort(arr, arr + n);
   return arr[k - 1];
}
int main() {
   int arr[] = { 3, 5, 23, 4, 15, 16, 87, 99 }, k = 5;
   cout << findKthSmallestNumber(arr, 7, k) << endl;
   return 0;
}

输出

如果运行以上代码,则将获得以下结果。

16

结论

如果对本教程有任何疑问,请在评论部分提到。

更新日期: 09-Apr-2021

87 次浏览

启动你的 职业生涯

完成课程获得认证

开始
广告