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[] = { 45, 32, 22, 23, 12 }, n = 5, k = 3;
   cout << findKthSmallestNumber(arr, n, k) << endl;
   return 0;
}

输出结果

如果运行上面的代码,则将得到以下结果。

23