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

hàm multiset count () 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 ::count () 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 tập hợp. 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 nhiều tập hợp được sử dụng để triển khai cây tìm kiếm nhị phân.

Multiset ::count () là gì?

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

Hàm này đếm số phần tử bằng một khóa cụ thể.

Một tập hợp nhiều có thể có nhiều giá trị của cùng một khóa nên khi chúng ta muốn đếm số giá trị của cùng một khóa, chúng ta có thể sử dụng count (). count () tìm kiếm khóa trong toàn bộ vùng chứa và trả về kết quả. Nếu không có khóa nào chúng tôi đang tìm kiếm trong vùng chứa thì hàm trả về 0.

Cú pháp

ms_name.count(value_type T);

Tham số

Hàm chấp nhận một tham số thuộc loại giá trị của multiset mà chúng tôi phải tìm kiếm trong vùng chứa multiset được liên kết.

Giá trị trả về

Hàm này trả về các giá trị số có cùng một khóa.

Ví dụ

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

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {1, 2, 3, 1, 1, 1};
   multiset<int> check(arr, arr + 6);
   cout<<"List is : ";
   for (auto i = check.begin(); i != check.end(); i++)
      cout << *i << " ";
   cout << "\n1 is occuring: "<<check.count(1)<<" times";
   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 1 1 1 2 3
1 is occuring 4 times

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   int arr[] = {1, 2, 3, 1, 1, 1, 2, 2};
   multiset<int> check(arr, arr + 8);
   cout<<"List is : ";
   for (auto i = check.begin(); i != check.end(); i++)
   cout << *i << " ";
   cout << "\n1 is occuring: "<<check.count(1)<<" times";
   cout << "\n2 is occuring: "<<check.count(2)<<" times";
   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 1 1 1 2 2 2 3
1 is occuring 4 times
2 is occuring 3 times