Mảng, xâu & cấu trúc dữ liệu cơ bản
5. Làm quen STL: vector, pair, sort
STL (thư viện chuẩn) cho ta các công cụ viết sẵn. Ba thứ nền tảng:
vector — mảng co giãn được
vector như mảng nhưng tự thay đổi kích thước; thêm phần tử bằng push_back:
#include <vector>
vector<int> v;
v.push_back(5); // v = [5]
v.push_back(2); // v = [5, 2]
cout << v.size(); // 2
cout << v[0]; // 5
pair — ghép hai giá trị
pair gói hai giá trị thành một, tiện khi cần lưu cặp (ví dụ điểm và tên):
#include <utility>
pair<int,int> p = {3, 7};
cout << p.first << " " << p.second; // 3 7
sort — sắp xếp sẵn có
sort sắp xếp một mảng/vector tăng dần chỉ với một dòng (ta học sâu hơn ở Phase 3):
#include <algorithm>
sort(a, a + n); // sap xep a[0..n-1] tang dan
sort(v.begin(), v.end()); // sap xep vector tang dan
stack (ngăn xếp — vào sau ra trước) và queue (hàng đợi — vào trước ra trước) sẽ gặp lại ở các phase sau; tạm thời chỉ cần biết tên.6. Bài tập điển hình Phase 1
- Đọc dãy
nsố, in ra max, min, tổng, trung bình. - Đọc ma trận
n×m, tính tổng mỗi hàng và mỗi cột. - Đọc một xâu, đếm số nguyên âm và kiểm tra có đối xứng không.
- Đọc dãy số trong khoảng
0..1000, in ra giá trị xuất hiện nhiều nhất. - Đọc một câu, đếm số từ (các từ cách nhau bởi dấu cách).
✦