Giả sử chúng ta có một mảng gồm n phần tử. Chúng ta phải tìm phần tử nhỏ nhất, thứ hai trong mảng. Số nhỏ nhất đầu tiên là số nhỏ nhất của mảng, số nhỏ nhất thứ hai là số nhỏ nhất nhưng lớn hơn số nhỏ nhất đầu tiên.
Quét qua từng phần tử, sau đó kiểm tra phần tử và liên hệ điều kiện cho các điều kiện của phần tử nhỏ nhất và thứ hai để giải quyết vấn đề này.
Ví dụ
#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); }
Đầu ra
First smallest = 4 Second smallest = 9