Duyệt Set Trong C++
Có thể bạn quan tâm
Hướng dẫn cách duyệt set trong C++. Bạn sẽ học được 2 cách căn bản để duyệt set trong C++ sau bài học này.
Trong bài set trong C++ chúng ta đã biết khác với vector hay mảng, do set có kiểu cấu trúc dạng cây nhị phân được tạo ra bởi các Node nên chúng ta không thể truy cập ngẫu nhiên vào phần tử bất kỳ trong một set. Do đó chúng ta cũng không thể sử dụng index của các phần tử để truy cập vào nó theo cách thông thường được.
Thay vào đó thì chúng ta có 2 phương pháp duyệt set trong C++ như sau:
- Sử dụng vòng lặp dựa trên phạm vi
- Sử dụng iterator
Duyệt set trong C++ bằng vòng lặp dựa trên phạm vi
Có rất nhiều thứ tiện lợi đã được thêm vào trong C++, và một trong số đó chính là vòng lặp dựa trên phạm vi.
Bằng cách sử dụng vòng lặp dựa trên phạm vi, chúng ta có thể duyệt set trong C++ với cú pháp như sau:
for ( auto& x : v) { // Xử lý}
Trong đó:
- v là tên set
- x là tên một biến dùng để gán từng phần tử được lấy từ set
- auto là kiểu suy luận giúp tự xác định kiểu dữ liệu của giá trị lấy từ set
Ví dụ cụ thể:
using namespace std;int main(){ set<int> data{5, 6, 88, -2}; for (auto x: data) { cout << x << endl; }} |
Kết quả:
-25688 |
Nếu trong set chỉ chứa các phần tử thuộc kiểu dữ liệu nguyên thủy, chúng ta cũng có thể thay thế auto bằng tên kiểu, ví dụ set ở trên chỉ chứa các phần tử thuộc kiểu int nên chúng ta có thể viết:
set<int> data{5, 6, 88, -2};for (int x: data) { cout << x << endl;} |
Một cách tương tự chúng ta cũng có thể dùng vòng lặp dựa trên phạm vi để duyệt set 2 chiều trong C++ như sau:
using namespace std;int main(){ set<set<int> > data{{5, 2}, {6,3}, {88, -2}}; for (auto x: data) { for (auto y: x) { cout << y << endl; } }} |
Kết quả:
-2882536 |
Duyệt set trong C++ bằng iterator
Trong C++, các kiểu dữ liệu như vector, set, map đều được thêm một chức năng là iterator nhằm giúp biến chúng thành các trình lặp để dễ dàng xử lý.
Bằng cách sử dụng iterator, chúng ta có thể duyệt set trong C++ với cú pháp như sau:
for(auto itr = st.begin(); itr != st.end(); ++itr) { cout << *itr << endl;}
Trong đó:
- st là tên set
- itr là tên iterator
Ví dụ cụ thể:
using namespace std;int main(){ set<int> data{5, 6, 88, -2}; for(auto itr = data.begin(); itr != data.end(); ++itr) { cout << *itr << endl; }} |
Và kết quả thu về cũng tương tự với phương pháp duyệt set bằng vòng lặp dựa trên phạm vi ở trên:
-25688 |
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về cách duyệt set trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.
URL Link
https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/set-trong-cpp/duyet-set-trong-cpp/
Từ khóa » Duyệt Mảng C++
-
Duyệt Mảng Một Chiều
-
Mảng (array) Trong C++ - Học Lập Trình C++ Online - VietTuts
-
Duyệt Vector Trong C++
-
Mảng 1 Chiều Trong C++ (Arrays) | How Kteam
-
Các Thao Tác Trên Mảng Một Chiều | How Kteam
-
Các Phương Pháp Duyệt Qua Các Phần Tử Của Một Container Trong C++
-
5.1 Các Thao Tác Cơ Bản Với Mảng Một Chiều
-
[Lập Trình C++ Cơ Bản] Bài 7 (phần 1): Mảng Một Chiều - Viblo
-
Tìm Kiếm Phần Tử Mảng Trong C/C++ - Lập Trình Từ Đầu
-
Cách Khai Báo Mảng Trong C++ (mảng Một Chiều Và Nhiều Chiều)
-
Mảng Hai Chiều - Mảng Đa Chiều Trong C++ - CodeLearn
-
Thuật Toán Sắp Xếp Trong C++ | TopDev
-
[PDF] Bài Thực Hành Tuần 6 1. Nội Dung 2. Sửa Các Phần Tử Trong Mảng
-
Duyệt Và In Mảng Bởi Sử Dụng Con Trỏ Trong C