ใช้ฟังก์ชัน 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());