std::multimap::count
#include <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::multimap.
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::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::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::map, std::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 của
count()
làO(log n + m)
, với n là số phần tử trong std::multimap và m là số phần tử có key bằngkey
.
Ví dụ
#include <iostream>
#include <map>
int main() {
std::multimap<std::string, int> mymultimap = {
{"apple", 1},
{"banana", 2},
{"orange", 3},
{"apple", 4}
};
// Đếm số lần xuất hiện của key "apple"
size_type count = mymultimap.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 = mymultimap.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
find | Tìm kiếm một phần tử có key bằng với giá trị key cho trước trong std::multimap |
equal_range | Trả về một cặp iterator xác định phạm vi các phần tử trong std::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::multimap |
lower_bound | Trả về một iterator trỏ đến phần tử đầu tiên trong std::multimap có key 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::multimap có key lớn hơn giá trị key cho trước |