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

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

  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::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::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::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.
  6. Độ phức tạp: Độ phức tạp của count()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ằng key.

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

findTìm kiếm một phần tử có key bằng với giá trị key cho trước trong std::multimap
equal_rangeTrả 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
sizeTrả về số lượng phần tử hiện có trong std::multimap
lower_boundTrả 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_boundTrả 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