在 C++ 陣列中查詢最小的和第二小的元素


假設我們有一個包含 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

更新日期:2019-11-04

2K+ 閱讀

開啟你的 事業

完成課程認證

開始
廣告
© . All rights reserved.