THƯ VIỆN algorithm TRONG C++

 


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>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:

#include <algorithm>
#include <vector>

✅ 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àmChức năngVí dụ
sort(begin, end)Sắp xếp tăng dầnsort(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 xcount(vec.begin(), vec.end(), 5);
find(begin, end, x)Tìm phần tử đầu tiên bằng xfind(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ụ:

#include <iostream>
#include <algorithm> #include <vector> using namespace std; int main() { vector<int> nums = {3, 1, 4, 1, 5, 9}; sort(nums.begin(), nums.end()); cout << "Sau khi sort: "; for (int x : nums) cout << x << " "; cout << endl; reverse(nums.begin(), nums.end()); cout << "Sau khi reverse: "; for (int x : nums) cout << x << " "; cout << endl; cout << "Số lần xuất hiện của 1: " << count(nums.begin(), nums.end(), 1) << endl; return 0; }

🖨️ Kết quả ví dụ:

Sau khi sort: 1 1 3 4 5 9 Sau khi reverse: 9 5 4 3 1 1 Số lần xuất hiện của 1: 2

📌 Mẹo học nhanh:

Mục đíchDùng hàm gì?
Sắp xếpsort()
Tìm phần tửfind() / binary_search()
Đếm phần tửcount()
Đảo ngượcreverse()
Tìm max / minmax_element() / min_element()
Tính tổngaccumulate()

📦 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!

Mới hơn Cũ hơn
Đọc tiếp:
Lên đầu trang