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

std::unordered_multiset::count

#include <unordered_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::unordered_multiset.

Tham số

key

  • Giá trị của phần tử cần đếm.

Giá trị trả về

size_type

  • Trả về số lượng phần tử có giá trị 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 giá trị cụ thể trong std::unordered_multiset, 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_multiset.
  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 giá trị đó.
  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_set, std::unordered_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.
  6. Độ phức tạp: Độ phức tạp trung bình của count()O(m) - với m là số lần xuất hiện của giá trị, trường hợp xấu nhất là O(n), với n là số phần tử trong std::unordered_multiset.

Ví dụ

#include <iostream>
#include <unordered_set>

int main() {
std::unordered_multiset<int> myumset = {10, 20, 30, 20, 10, 10, 40};

// Đếm số lần xuất hiện của phần tử có giá trị 10
size_type count = myumset.count(10);
std::cout << "Element 10 appears " << count << " times in the multiset\n"; // Output: Element 10 appears 3 times in the multiset

// Đếm số lần xuất hiện của phần tử có giá trị 50 (không tồn tại)
count = myumset.count(50);
std::cout << "Element 50 appears " << count << " times in the multiset\n"; // Output: Element 50 appears 0 times in the multiset

return 0;
}

Các hàm liên quan

findTìm kiếm một phần tử có giá trị bằng với giá trị cho trước trong std::unordered_multiset
sizeTrả về số lượng phần tử hiện có trong std::unordered_multiset