Chuyển tới nội dung chính

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

  1. Đế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í.
  2. const: count() là một hàm const, nghĩa là nó không thay đổi trạng thái của std::unordered_multimap.
  3. Phân biệt với find(): find() trả về iterator trỏ đến phần tử đầu tiên tìm thấy (hoặc end() nếu không tìm thấy), trong khi count() trả về số lần xuất hiện của key đó.
  4. Không ném ngoại lệ: Hàm count() được quy định không ném ra ngoại lệ.
  5. 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.
  6. Độ phức tạp: Độ phức tạp trung bình của count()O(m), với m là số phần tử có key bằng key. 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_rangeTrả 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
sizeTrả về số lượng phần tử hiện có trong std::unordered_multimap