Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm map::count() trong C++


Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của hàm map::count() trong C++ STL.

Map trong C++ STL là gì?

Map là container liên kết (associative container), cho phép lưu trữ các phần tử được hình thành từ cặp key (khóa) và mapped value (giá trị ánh xạ) theo một thứ tự cụ thể. Trong map, dữ liệu luôn được sắp xếp nội bộ dựa trên key. Các giá trị trong map được truy xuất thông qua key duy nhất của chúng.

map::count() là gì?

map::count() là hàm nằm trong header <map>. Hàm này đếm số phần tử có key cụ thể. Vì map không cho phép key trùng lặp, hàm này chỉ trả về:

  • 1 nếu key tồn tại trong container.
  • 0 nếu key không tồn tại.

Cú pháp

map_name.count(key);

Tham số

Hàm nhận một tham số là key cần kiểm tra trong container.

Giá trị trả về

Trả về kiểu size_type (thường là 0 hoặc 1): 1 nếu key tồn tại, 0 nếu không.

Ví dụ minh họa

Input (key, Element)

(2,70), (3,30), (4,90), (5,100)

Output

Key 5 is present. Key 6 is not present.

Cách tiếp cận

  1. Khởi tạo container map.
  2. Chèn các phần tử với key tương ứng.
  3. Kiểm tra key mong muốn có tồn tại bằng count().

Ví dụ 1: Kiểm tra key nguyên

#include <iostream>
#include <map>
using namespace std;

int main() {
    map<int, int> mp;
    mp.insert({1, 40});
    mp.insert({3, 20});
    mp.insert({2, 30});
    mp.insert({5, 10});
    mp.insert({4, 50});
    
    if (mp.count(1))
        cout << "Key 1 is present\n";
    else
        cout << "Key 1 is not present\n";
    
    if (mp.count(7))
        cout << "Key 7 is Present\n";
    else
        cout << "Key 7 is not Present\n";
    
    return 0;
}

Kết quả

Key 1 is present
Key 7 is not present

Ví dụ 2: Duyệt và kiểm tra các key ký tự

#include <iostream>
#include <map>
using namespace std;

int main() {
    map<char, int> mp;
    mp['a'] = 2;
    mp['c'] = 3;
    mp['e'] = 1;
    
    for (char i = 'a'; i <= 'f'; i++) {
        cout << i;
        if (mp.count(i) > 0)
            cout << " is an element of mp.\n";
        else
            cout << " is not an element of mp.\n";
    }
    return 0;
}

Kết quả

a is an element of mp.
b is not an element of mp.
c is an element of mp.
d is not an element of mp.
e is an element of mp.
f is not an element of mp.

Lưu ý: Đối với map, count() tương đương với kiểm tra find() != end(), nhưng count() ngắn gọn hơn khi chỉ cần biết có/không.