สมมติเรามีอาร์เรย์ n สมาชิก เราต้องหาตัวเลขที่น้อยที่สุดอันดับหนึ่งและอันดับสองในอาร์เรย์ ตัวน้อยที่สุดอันดับหนึ่งคือค่าต่ำสุดของอาร์เรย์ ตัวน้อยที่สุดอันดับสองคือค่าต่ำสุดแต่ใหญ่กว่าตัวแรก
สแกนผ่านแต่ละสมาชิก ตรวจสอบสมาชิก และเชื่อมโยงเงื่อนไขสำหรับตัวน้อยที่สุดอันดับหนึ่งและสอง เพื่อแก้ปัญหานี้
ตัวอย่าง
#include <iostream>
using namespace std;
int getTwoSmallest(int arr[], int n) {
int first = INT_MAX, sec = INT_MAX;
for (int i = 0; i < n; i++) {
if (arr[i] < first) {
sec = first;
first = arr[i];
} else if (arr[i] < sec) {
sec = arr[i];
}
}
cout << "First smallest = " << first << endl;
cout << "Second smallest = " << sec << endl;
}
int main() {
int array[] = {4, 9, 18, 32, 12};
int n = sizeof(array) / sizeof(array[0]);
getTwoSmallest(array, n);
}
ผลลัพธ์
First smallest = 4 Second smallest = 9