unordered_map:
-để thực hiện thao tác thêm, xóa, tìm.
-2 hàm em thích:insert và find.
***
unordered_set:
-giống cái trên nhưng không lưu giá trị khi tìm 1 từ khóa.
-insert và find
***
algorithm"
-dùng để sắp xếp, tìm kiếm, biến đổi.
-sort và find.
***
iostream
-input và output cơ bản dễ nhất.
-cin và cout.
***
valarray:
-tính toán số lớn.
-max và min.
***
cstring:
-giống sting như theo kiểu c. bất tiện hơn nhiều so với kiểu c++.
-strlen và str cat.
numeric
-cũng là tính toán nhưng độ phức tạp cao hơn em cũng ko rõ chi tiết công dụng của các hàm trong thư viện.
***
iomanip
-định dạng đầu ra
-setprecision và fixed
***
complex
-xử lí số phức
-abs và real
***
sstream
-Hỗ trợ thao tác với chuỗi như một luồng (stream), giống như cin/cout nhưng dùng cho chuỗi.
-std::stringstream ss; ss << value và ss >> variable
***
cassert
- Cung cấp macro assert để kiểm tra điều kiện trong khi chạy chương trình (debug).
- assert(condition)
***
random
-Tạo số ngẫu nhiên với nhiều loại phân phối khác nhau.
-mt19937 và uniform_int_distribution.
***
chrono
-Làm việc với thời gian, đo độ trễ.
-std::chrono::steady_clock::now() và std::chrono::duration_cast<>().
***
vector
-Mảng động (dễ dàng thêm/xóa phần tử).
-v.push_back(x) và v.size().
***
cstdio
-Thư viện nhập xuất kiểu C (printf, scanf,...).
-printf(...) và scanf(...).
***
bitset
-Làm việc với dãy bit cố định.
-bitset<8> b("10101010") và b.count()
array
-Mảng tĩnh (cố định kích thước) có hỗ trợ hàm tiện ích.
-std::array<int, 5> a và a.fill(0)
***
queue
-Hàng đợi FIFO.
-push(x) và front()
***
deque
-Hàng đợi hai đầu (thêm/xóa ở cả hai phía).
-push_front() và pop_back().
***
stack
-Cấu trúc ngăn xếp LIFO.
-push() và top().
***
cmath
-Các hàm toán học chuẩn
-sqrt() và pow()
***
tuple
-Gom nhiều biến khác kiểu vào một đối tượng.
-make_tuple() và get<index>().
***
regex
-Biểu thức chính quy kiểm tra, tìm kiếm mẫu chuỗi.
-regex_match và regex_replace.
***
list
-Danh sách liên kết đôi.
-push_back() và pop_front().
***
set
-Tập hợp không trùng, tự động sắp xếp.
-insert và find.
***
map
-để thực hiện thao tác thêm, xóa, tìm.
-find và value.
***
tại sao không nên kết hớp #include <bits/stdc++.h>với using namespace std;
-tại vì:
+khi code những code lớn 2 cái trên nó sẽ làm chậm code do cả 2 đếu tích hợp quá nhiều chức năng.
+cũng trong trường hợp code lớn khi cần sử dụng nhiều hàm nên các tên hàm dễ bị trùng làm lỗi code.
+khó debug vì tích hợp quá nhiều
***
1. bool
Min:false(0)
Max:true(1)
Số bit:1
Số trạng thái:2
***
2.char
min:-128 / 0
max:127 / 255
bit:8
trạng thái:256
***
3.short
min:-32,768
max:32,767
bit:16
trạng thái:2¹⁶
***
4.int
min:-2.1×10⁹
max:2.1×10⁹
bit:32
trạng thái:2³²
***
5.long long
min:-9.2×10¹⁸
max9.2×10¹⁸
bit:64
trạng thái:2⁶⁴
***
6.float
max~1.17×10⁻³⁸
min~3.4×10³⁸
bit:32
trạng thái:~2³²
***
7.double
min:~2.22×10⁻³⁰⁸
max:~1.79×10³⁰⁸
bit:64
trạng thái:~2⁶⁴