Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หาค่าสูงสุดและต่ำสุดของอาร์เรย์ด้วย STL ใน C++

ใช้ max_element() และ min_element() จาก <algorithm> หาค่าสูงสุดและต่ำสุดในอาร์เรย์

ตัวอย่างโค้ด

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int arr[] = {12, 45, 74, 32, 66, 96, 21, 32, 27};
    int n = sizeof(arr) / sizeof(arr[0]);

    cout << "Array is like: ";
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";

    cout << "\nMax Element is: " << *max_element(arr, arr + n);
    cout << "\nMin Element is: " << *min_element(arr, arr + n);

    return 0;
}

ผลลัพธ์

Array is like: 12 45 74 32 66 96 21 32 27
Max Element is: 96
Min Element is: 12

หมายเหตุสำคัญ

  • คืนค่าเป็น Iterator ต้อง Dereference ด้วย * เพื่อได้ค่า
  • หากอาร์เรย์ว่าง พฤติกรรมไม่ได้กำหนด (Undefined Behavior)
  • ทำงานกับ Vector, List, String ได้เช่นกัน

หา Index แทนค่า

int maxIndex = max_element(arr, arr + n) - arr;
int minIndex = min_element(arr, arr + n) - arr;