std::multiset::count
#include <set>
size_type count(const key_type& key) const;
Đếm số lượng phần tử có giá trị bằng với giá trị cho trước trong std::multiset.
Tham số
key
- Giá trị của phần tử cần đếm.
Giá trị trả về
- Trả về số lượng phần tử có giá trị bằng
key
.
Đặc điểm
- Đếm số lần xuất hiện:
count()
đếm số lần xuất hiện của một giá trị cụ thể trong std::multiset, không phân biệt vị trí. - const:
count()
là một hàmconst
, nghĩa là nó không thay đổi trạng thái của std::multiset. - Phân biệt với
find()
:find()
trả về iterator trỏ đến phần tử đầu tiên tìm thấy (hoặcend()
nếu không tìm thấy), trong khicount()
trả về số lần xuất hiện của giá trị đó. - Không ném ngoại lệ: Hàm
count()
được quy định không ném ra ngoại lệ. - Trả về số lần xuất hiện: Khác với std::set, std::multiset cho phép các phần tử trùng lặp, do đó
count()
có thể trả về giá trị lớn hơn 1. - Độ phức tạp: Độ phức tạp của
count()
làO(log n + m)
, với n là số phần tử trong std::multiset và m là số phần tử có giá trị bằngkey
.
Ví dụ
#include <iostream>
#include <set>
int main() {
std::multiset<int> mymultiset = {10, 20, 30, 20, 40, 20, 50};
// Đếm số lần xuất hiện của phần tử có giá trị 20
size_type count = mymultiset.count(20);
std::cout << "Element 20 appears " << count << " times in the multiset\n"; // Output: Element 20 appears 3 times in the multiset
// Đếm số lần xuất hiện của phần tử có giá trị 60 (không tồn tại)
count = mymultiset.count(60);
std::cout << "Element 60 appears " << count << " times in the multiset\n"; // Output: Element 60 appears 0 times in the multiset
return 0;
}
Các hàm liên quan
find | Tìm kiếm một phần tử có giá trị bằng với giá trị cho trước trong std::multiset |
equal_range | Trả về một cặp iterator xác định phạm vi các phần tử trong std::multiset có giá trị bằng với giá trị key cho trước |
size | Trả về số lượng phần tử hiện có trong std::multiset |
lower_bound | Trả về một iterator trỏ đến phần tử đầu tiên trong std::multiset có giá trị lớn hơn hoặc bằng giá trị key cho trước |
upper_bound | Trả về một iterator trỏ đến phần tử đầu tiên trong std::multiset có giá trị lớn hơn giá trị key cho trước |