Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và ví dụ của các hàm map ::cbegin () và map ::cend () trong C ++ STL.
Bản đồ trong C ++ STL là gì?
Bản đồ là vùng chứa liên kết, tạo điều kiện để lưu trữ các phần tử được hình thành bởi sự kết hợp của giá trị khóa và giá trị được ánh xạ theo một thứ tự cụ thể. Trong vùng chứa bản đồ, dữ liệu luôn được sắp xếp nội bộ với sự trợ giúp của các khóa liên quan. Các giá trị trong vùng chứa bản đồ được truy cập bằng các khóa duy nhất của nó.
Bản đồ ::cbegin () là gì?
Hàmmap::cbegin() function is an inbuilt function in C++ STL, which is defined in <map> header file. cbegin() is the constant begin function.
Hàm này trả về trình lặp hằng số đang trỏ đến phần tử đầu tiên trong vùng chứa bản đồ. Trình lặp được trả về là trình lặp không đổi, chúng không thể được sử dụng để sửa đổi nội dung. Chúng tôi có thể sử dụng chúng để duyệt giữa các phần tử của vùng chứa bản đồ bằng cách tăng thứ tự trình lặp
Cú pháp
newmap.cbegin();
Tham số
Hàm này không chấp nhận tham số.
Giá trị trả về
Nó trả về một trình vòng lặp trỏ đến phần tử đầu tiên của vùng chứa bản đồ được liên kết.
Ví dụ
Đầu vào
map<char, int> newmap; newmap[‘a’] = 1; newmap[‘b’] = 2; newmap[‘c’] = 3; newmap.cbegin();
Đầu ra
a = 1
Ví dụ
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); //using map::cbegin to fetch first element auto temp = TP_Map.cbegin(); cout <<"First element is: "<<temp->first << " -> " << temp->second; cout<<"\nTP Map is : \n"; cout << "MAP_KEY\tMAP_ELEMENT\n"; for (auto i = TP_Map.cbegin(); i!= TP_Map.cend(); i++) { cout << i->first << "\t" << i->second << endl; } return 0; }
Đầu ra
First element is: 1 -> 10 TP Map is: MAP_KEY MAP_ELEMENT 1 10 2 30 3 50 4 70
map ::cend () là gì?
Hàm map ::cend () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề
Trình lặp được trả về là trình lặp không đổi, chúng không thể được sử dụng để sửa đổi nội dung, chúng tôi có thể sử dụng chúng để duyệt qua giữa các phần tử của vùng chứa bản đồ bằng cách tăng hoặc giảm trình lặp.
map ::cbegin () và map ::cend () được sử dụng để duyệt qua toàn bộ vùng chứa bằng cách cho biết đầu của dải và cuối dải.
Cú pháp
newmap.cend();
Tham số
Hàm này không chấp nhận tham số.
Giá trị trả về
Nó trả về một trình lặp trỏ đến phần tử cuối cùng của vùng chứa bản đồ được liên kết trong quá khứ.
Ví dụ
Đầu vào
map<char, int> newmap; newmap[‘a’] = 1; newmap[‘b’] = 2; newmap[‘c’] = 3; newmap.cend();
Đầu ra
error
Ví dụ
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); cout<<"\nTP Map is : \n"; cout << "MAP_KEY\tMAP_ELEMENT\n"; for (auto i = TP_Map.cbegin(); i!= TP_Map.cend(); i++) { cout << i->first << "\t" << i->second << endl; } return 0; }
Đầu ra
TP Map is: MAP_KEY MAP_ELEMENT 1 10 2 30 3 50 4 70