使用 C++ 程式在陣列中查詢第一個、第二個和第三個最小元素
假設我們有一個含有 n 個元素的陣列。我們必須在陣列中找到第一個、第二個和第三個最小元素。第一個最小值是陣列中的最小值,第二個最小值是小於第一個最小值,類似地,第三個最小值是小於第二小值。
逐個掃描每個元素,然後檢查元素,並關聯第一個、第二個和第三個最小元素的條件來解決此問題。
示例
#include<iostream>
using namespace std;
int getThreeMins(int arr[], int n) {
int first = INT_MAX, sec = INT_MAX, third = INT_MAX;
for (int i = 0; i < n; i++) {
if (arr[i] < first) {
third = sec;
sec = first;
first = arr[i];
} else if (arr[i] < sec) {
third = sec;
sec = arr[i];
} else if (arr[i] < third)
third = arr[i];
}
cout << "First min = " << first << endl;
cout << "Second min = " << sec << endl;
cout << "Third min = " << third << endl;
}
int main() {
int array[] = {4, 9, 18, 32, 12};
int n = sizeof(array) / sizeof(array[0]);
getThreeMins(array, n);
}輸出
First min = 4 Second min = 9 Third min = 12
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP