Computer >> Máy Tính >  >> Lập trình >> C ++

K’th Phần tử nhỏ nhất / lớn nhất sử dụng STL trong C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình tìm số nhỏ nhất thứ k trong mảng không được sắp xếp.

Hãy xem các bước để giải quyết vấn đề.

  • Khởi tạo mảng và k.
  • Khởi tạo một tập hợp có thứ tự trống.
  • Lặp lại trên mảng và chèn từng phần tử vào mảng.
  • Lặp lại tập hợp từ 0 đến k - 1.
  • Trả lại giá trị.

Ví dụ

Hãy xem mã.

#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;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

23

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.