ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่จะหาจำนวนที่น้อยที่สุดเป็นอันดับที่ 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
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น