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

การเรียงลำดับอาร์เรย์ด้วย STL sort() ใน C++

ใช้ฟังก์ชัน sort() จาก header <algorithm> เรียงอาร์เรย์จากน้อยไปมาก (Ascending) โดยค่าเฉลี่ย O(n log n)

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

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

int main() {
    int arr[] = {52, 14, 85, 63, 99, 54, 21};
    int n = sizeof(arr) / sizeof(arr[0]);

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

    sort(arr, arr + n); // เรียงจากน้อยไปมาก

    cout << "\nArray after sorting: ";
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";

    return 0;
}

ผลลัพธ์

Array before sorting: 52 14 85 63 99 54 21
Array after sorting: 14 21 52 54 63 85 99

การปรับแต่งการเรียง

  • เรียงมากไปน้อย: sort(arr, arr + n, greater<int>());
  • เรียงด้วย Lambda: sort(arr, arr + n, [](int a, int b){ return a > b; });
  • เรียง Vector: sort(vec.begin(), vec.end());