THƯ VIỆN <algorithm>
TRONG C++
🛠️ Biên soạn bởi Học Tin Việt – Giúp các bạn lập trình hiệu quả hơn với các thuật toán có sẵn! 🚀🔢🔹 <algorithm>
là gì?
<algorithm>
là thư viện chuẩn của C++ chứa hơn 60 hàm xử lý dữ liệu phổ biến như:
📌 Sắp xếp, tìm kiếm, đếm phần tử, xáo trộn, đảo ngược,...
👉 Dùng được với mảng, vector, string, và các container STL khác!
✅ Cách dùng:
✅ Nên kết hợp với
#include <vector>
hoặc#include <string>
tùy mục đích sử dụng.
🧩 Các hàm quan trọng trong <algorithm>
:
Hàm | Chức năng | Ví dụ |
---|---|---|
sort(begin, end) | Sắp xếp tăng dần | sort(arr, arr+n); |
reverse(begin, end) | Đảo ngược thứ tự phần tử | reverse(vec.begin(), vec.end()); |
count(begin, end, x) | Đếm số lần xuất hiện của x | count(vec.begin(), vec.end(), 5); |
find(begin, end, x) | Tìm phần tử đầu tiên bằng x | find(vec.begin(), vec.end(), x); |
max_element(begin, end) | Tìm phần tử lớn nhất | *max_element(arr, arr+n); |
min_element(begin, end) | Tìm phần tử nhỏ nhất | *min_element(vec.begin(), vec.end()); |
accumulate(begin, end, 0) | Tính tổng các phần tử (cần <numeric> ) | accumulate(arr, arr+n, 0); |
binary_search(begin, end, x) | Tìm kiếm nhị phân (dữ liệu đã sắp xếp) | binary_search(a, a+n, 10); |
🧪 Ví dụ:
🖨️ Kết quả ví dụ:
📌 Mẹo học nhanh:
Mục đích | Dùng hàm gì? |
---|---|
Sắp xếp | sort() |
Tìm phần tử | find() / binary_search() |
Đếm phần tử | count() |
Đảo ngược | reverse() |
Tìm max / min | max_element() / min_element() |
Tính tổng | accumulate() |
📦 Bạn cũng có thể tự định nghĩa cách so sánh trong
sort()
để sắp xếp theo điều kiện riêng!
Chủ đề:
cpp