C++ multimap::count() 函式



C++ 的 std::multimap::count() 函式用於返回與指定鍵匹配的元素數量。與每個鍵都唯一的 std::map 不同,std::multimap 允許具有相同鍵的多個元素。它操作的是一個排序集合,其中每個鍵可以與多個值關聯。使用此函式,我們可以確定某個鍵在 multimap 中出現的次數。此函式的時間複雜度是對數級的,即 O(log n)。

語法

以下是 std::multimap::count() 函式的語法。

size_type count (const key_type& k) const;

引數

  • k − 表示要搜尋的鍵。

返回值

此函式返回與鍵關聯的值的數量。

示例

在下面的示例中,我們將演示 count() 函式的基本用法。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "Sail"}, {2, "Audi"}, {1, "Beat"}, {1, "Cruze"}};
    int x = 1;
    int y = a.count(x);
    std::cout << "Occurrences of key " << x << ": " << y << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

Occurrences of key 1: 3

示例

考慮下面的示例,我們將獲取不存在的鍵的計數。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "Hi"}, {2, "Hello"},{3, "Namaste"}};
    int x = 5;
    int y = a.count(x);
    std::cout << "Occurrences of key " << x << ": " << y << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

Occurrences of key 5: 0

示例

讓我們看下面的示例,我們將對空的 multimap 應用 count 並觀察輸出。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> x;
    int a = 2;
    int b = x.count(a);
    std::cout << "Occurrences of key " << a << ": " << b << std::endl;
    return 0;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出:

Occurrences of key 2: 0

示例

下面的示例中,我們將 count() 函式用於迴圈中。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "Hi"}, {1, "Hello"}, {3, "Welcome"}};
    for (int x = 1; x <= 2; ++x) {
        int y = a.count(x);
        std::cout << "Occurrences of key " << x << " : " << y << std::endl;
    }
    return 0;
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Occurrences of key 1 : 2
Occurrences of key 2 : 0
multimap.htm
廣告