Giới thiệu std::set
Thuộc phần Logic và luồng chương trình trong hành trình C++ của Coddy. Bài học 35 trên 56.
std::set là một vùng chứa lưu trữ một tập hợp các phần tử không trùng lặp theo thứ tự đã sắp xếp. Khác với vector hoặc mảng, nơi bạn có thể có các giá trị trùng lặp, set tự động ngăn các giá trị trùng lặp và giữ mọi thứ ngăn nắp.
Hãy hình dung tập hợp như một nhóm các món đồ không trùng lặp trên bàn của bạn. Bạn không thể đặt hai món đồ giống hệt nhau vào cùng một vị trí, và chúng tự nhiên được sắp xếp theo thứ tự. Vì vậy, tập hợp rất phù hợp khi bạn cần đảm bảo dữ liệu không có phần tử trùng lặp.
Để sử dụng std::set trong chương trình, bạn cần thêm header phù hợp:
#include <set>Đây là ví dụ đơn giản về cách khai báo và sử dụng tập hợp (set):
std::set<int> numbers;
numbers.insert(5);
numbers.insert(3);
numbers.insert(8);
numbers.insert(3); // Trùng lặp nên bị bỏ qua
// numbers hiện chứa: {3, 5, 8} (đã sắp xếp, không có phần tử trùng lặp)Lệnh này tạo một tập hợp rỗng có thể chứa các số nguyên. Tập hợp sẽ tự động sắp xếp mọi số bạn thêm vào và loại bỏ các giá trị trùng lặp, vì vậy đây là lựa chọn rất phù hợp để lưu trữ dữ liệu duy nhất theo thứ tự.
Tự làm thử
Bài học này không có thử thách code.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
1Con trỏ và bộ nhớ
Con trỏ là gì?Toán tử lấy địa chỉToán tử giải tham chiếuCon trỏ nullCon trỏ và mảngBộ nhớ động với newGiải phóng bộ nhớ với deleteÔn tập: luyện tập về con trỏ2Vector (mảng động)
Giới thiệu std::vectorTạo vectorThêm phần tửTruy cập phần tửKích thước vectorDuyệt bằng vòng lặp forVòng lặp for dựa trên phạm viXóa phần tửÔn tập: các thao tác với vector5Dự án: Công cụ quản lý hàng tồn kho
Thiết lập dự ánThêm và cập nhật mặt hàng3Dự án: Công cụ danh sách công việc
Tổng quan dự ánThêm công việc6Tập hợp (các phần tử duy nhất)
Giới thiệu std::setTạo tập hợp và thêm phần tửKiểm tra phần tửXóa phần tửDuyệt qua tập hợpÔn tập: các số duy nhấtTự luyện tập: Trình biên dịch C++ online