Computer >> Máy Tính >  >> Lập trình >> C ++

hàm multiset clear () trong C ++ STL

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 ::clear () 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 bộ đa hợp và bộ là bộ có các khóa riêng biệt, nghĩa là không có hai khóa nào giống nhau, trong bộ đa hợp 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 ::clear () là gì?

Hàm multiset ::clear () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề .

Điều này được sử dụng để xóa toàn bộ vùng chứa nhiều bộ.

clear () xóa tất cả các phần tử khỏi các phần tử của vùng chứa nhiều tập và làm cho kích thước của vùng chứa nhiều tập là 0.

Cú pháp

ms_name.clear();

Tham số

Hàm không chấp nhận tham số.

Giá trị trả về

Hàm này không trả về gì

Ví dụ

Input: std::multiset<int> mymultiset = {1, 2, 2, 3, 4};
mymultiset.clear();
mymultiset.size();
Output: size of multiset = 0

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {2, 4, 1, 3, 8, 5, 6};
   multiset<int> check(arr, arr + 7);
   cout<<"List is : ";
   for (auto i = check.begin(); i != check.end(); i++)
   cout << *i << " ";
   cout<<"\nList when clear() is applied: ";
   check.clear();
   for (auto i = check.begin(); i != check.end(); i++)
   cout << *i << " ";
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

List is : 1 2 3 4 5 6 8
List when clear() is applied:

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {2, 4, 1, 3, 8, 5, 6};
   multiset<int> check(arr, arr + 7);
   cout<<"List is : ";
   for (auto i = check.begin(); i != check.end(); i++)
   cout << *i << " ";
   cout<<"\nList when clear() is applied: ";
   if(check.empty()) {
      cout<<"\nList is null";
   } else {
      cout<<"\nList isn't null : ";
      for (auto i = check.begin(); i != check.end(); i++)
      cout << *i << " ";
      cout<<"\nsize is : "<<check.size();
   }
   int arr2[] = {2, 4, 1, 3, 8, 5, 6};
   multiset<int> check_2(arr2, arr2 + 7);
   cout<<"\nList when clear() is applied: ";
   check_2.clear();
   if(check_2.empty()) {
      cout<<"\nList is null";
      cout<<"\nsize is : "<<check_2.size();
   } else {
      cout<<"\nList isn't null : "<<check_2.size();
      for (auto i = check_2.begin(); i != check_2.end(); i++)
      cout << *i << " ";
      cout<<"\nsize is : "<<check_2.size();
   }
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

List is : 1 2 3 4 5 6 8
List when clear() is applied:
List isn't null : 1 2 3 4 5 6 8
Size is : 7
List when clear() is applied:
List is null
size is : 0