C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でSTLを使用するK番目の最小/最大要素


このチュートリアルでは、ソートされていない配列でk番目に小さい数を見つけるプログラムを作成します。

問題を解決するための手順を見てみましょう。

  • 配列とkを初期化します。
  • 空の順序集合を初期化します。
  • 配列を反復処理し、各要素を配列に挿入します。
  • 0からk-1までのセットを繰り返します。
  • 値を返します。

コードを見てみましょう。

#include <bits/stdc++.h>
using namespace std;
int findKthSmallestNumber(int arr[], int n, int k) {
   set<int> set;
   for (int i = 0; i < n; i++) {
      set.insert(arr[i]);
   }
   auto it = set.begin();
   for (int i = 0; i < k - 1; i++) {
      it++;
   }
   return *it;
}
int main() {
   int arr[] = { 45, 32, 22, 23, 12 }, n = 5, k = 3;
   cout << findKthSmallestNumber(arr, n, k) << endl;
   return 0;
}

出力

上記のコードを実行すると、次の結果が得られます。

23

結論

チュートリアルに質問がある場合は、コメントセクションにそのことを記載してください。


  1. C++STLの配列アルゴリズム

    C ++ 11以降、STLにはさまざまな関数が追加されています。これらの関数は、アルゴリズムヘッダーファイルにあります。ここでは、これのいくつかの機能を見ていきます。 all_of()関数は、コンテナのすべての要素に当てはまる1つの条件をチェックするために使用されます。アイデアを得るためのコードを見てみましょう 例 #include <iostream> #include <algorithm> using namespace std; main() {    int arr[] = {2, 4, 6, 8, 10};   &nb

  2. STLを使用したC++の配列製品

    これは、配列製品を見つけるためのC++プログラムの例です。 アルゴリズム Begin Initialize the values of array. Call used defined function accumulate to return the product of array. Print the solution. End. サンプルコード #include <iostream> #include <numeric> using namespace std; int ProductOfArray(int p[], int n) { &nbs