std::unordered_multimap::count
#include <unordered_map>
size_type count(const key_type& key) const;
Đếm số lượng phần tử có key bằng với giá trị key
cho trước trong std::unordered_multimap. Khác với std::unordered_map, std::unordered_multimap cho phép các key trùng lặp, do đó count()
có thể trả về giá trị lớn hơn 1.
Tham số
key
- Giá trị của key cần đếm.
Giá trị trả về
size_type
- Trả về số lượng phần tử có key 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 key cụ thể trong std::unordered_multimap, 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::unordered_multimap. - 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 key đó. - 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 (có thể lớn hơn 1): Khác với std::unordered_map, std::unordered_multimap cho phép các key 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 trung bình của
count()
làO(m)
, với m là số phần tử có key bằngkey
. Trường hợp xấu nhất làO(n)
, với n là tổng số phần tử trong std::unordered_multimap.
Ví dụ
#include <iostream>
#include <unordered_map>
#include <string>
int main() {
std::unordered_multimap<std::string, int> myumm = {
{"apple", 1},
{"banana", 2},
{"orange", 3},
{"apple", 4}
};
// Đếm số lần xuất hiện của key "apple"
size_type count = myumm.count("apple");
std::cout << "Key 'apple' appears " << count << " times in the multimap\n"; // Output: Key 'apple' appears 2 times in the multimap
// Đếm số lần xuất hiện của key "grape" (không tồn tại)
count = myumm.count("grape");
std::cout << "Key 'grape' appears " << count << " times in the multimap\n"; // Output: Key 'grape' appears 0 times in the multimap
return 0;
}
Các hàm liên quan
equal_range | Trả về một cặp iterator xác định phạm vi các phần tử trong std::unordered_multimap có key bằng với giá trị key cho trước |
size | Trả về số lượng phần tử hiện có trong std::unordered_multimap |