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à các ví dụ của hàm multiset ::cbegin () và multiset ::cend () trong C ++ STL.
Multiset trong C ++ STL là gì?
Multisets là các vùng chứa tương tự như vùng chứa đã đặt, có nghĩa là chúng lưu trữ các giá trị ở dạng khóa giống như một tập hợp, theo một thứ tự cụ thể.
Trong multiset, các giá trị được xác định là các khóa giống như các bộ. Sự khác biệt chính giữa tập hợp và tập hợp nhiều khóa là tập hợp có các khóa riêng biệt, nghĩa là không có hai khóa nào giống nhau, trong tập hợp nhiều khóa có thể có cùng giá trị khóa.
Các khóa đa tập hợp được sử dụng để triển khai cây tìm kiếm nhị phân.
Multiset ::cbegin () là gì?
Hàm multiset ::cbegin () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề
Trình lặp hằng số chỉ có thể được sử dụng để lặp lại qua vùng chứa nhiều tập, điều này không thể thực hiện thay đổi trong vùng chứa nhiều tập.
Cú pháp
ms_name.cbegin();
Tham số
Hàm không chấp nhận tham số.
Giá trị trả về
Hàm này trả về một trình lặp không đổi đang trỏ đến phần tử đầu tiên của vùng chứa.
Ví dụ
Đầu vào
std::multiset<int> mymultiset = {1, 2, 2, 3, 4}; mymultiset.cbegin();
Đầu ra
1
Ví dụ
#include <bits/stdc++.h> using namespace std; int main() { int arr[] = {10, 20, 30, 40, 50, 60}; multiset<int> check(arr, arr + 6); cout<<"First element fetched using cbegin() function: "<<*(check.cbegin()) << endl; for(auto i = check.cbegin(); i!= check.cend(); i++) cout << *i << " "; return 0; }
Đầu ra
First element fetched using cbegin() function: 10 10 20 30 40 50 60
Multiset ::cend () là gì?
Hàm multiset ::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 hằng số chỉ có thể được sử dụng để lặp lại qua vùng chứa nhiều tập, điều này không thể thực hiện thay đổi trong vùng chứa nhiều tập.
Cú pháp
ms_name.cend();
Tham số
Hàm không chấp nhận tham số.
Giá trị trả về
Hàm này trả về một trình lặp không đổi đang trỏ đến phần tử ở phía sau phần tử cuối cùng của vùng chứa.
Ví dụ
Đầu vào
std::multiset<int&t; mymultiset = {1, 2, 2, 3, 4}; mymultiset.cend();
Đầu ra
error
Ví dụ
#include <bits/stdc++.h> using namespace std; int main() { int arr[] = {10, 20, 30, 40, 50, 60}; multiset<int> check(arr, arr + 6); cout<<"Elements in the list are: "; for(auto i = check.cbegin(); i!= check.cend(); i++) cout << *i << " "; return 0; }
Đầu ra
Elements in the list are: 10 20 30 40 50 60