C++ multimap::rbegin() 函式



C++ 的 std::multimap::rbegin() 函式用於返回一個指向最後一個元素的反向迭代器,從而可以從最後一個元素反向遍歷到第一個元素。此函式對於需要反向訪問元素的操作非常有用。反向迭代器可以遞增以向後移動容器。此函式的時間複雜度為常數,即 O(1)。

語法

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

reverse_iterator rbegin() nothrow;
const_reverse_iterator rbegin() const nothrow;

引數

它不接受任何引數。

返回值

此函式返回一個指向容器開頭的反向迭代器。

示例

讓我們來看下面的例子,我們將演示 rbegin() 函式的使用。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "Hi"}, {1, "Hello"}, {2, "Vanakam"}};
    auto x = a.rbegin();
    std::cout << x->first << ": " << x->second << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

2: Vanakam

示例

考慮以下示例,我們將使用反向迭代器搜尋和列印特定值。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a;
    a.insert({1, "AB"});
    a.insert({2, "BC"});
    auto x = a.rbegin();
    while (x != a.rend()) {
        if (x->second == "AB") {
            std::cout << "Founded Key Value Is : " << x->first << " " << x->second << std::endl;
            break;
        }
        ++x;
    }
    return 0;
}

輸出

以上程式碼的輸出如下:

Founded Key Value Is : 1 AB

示例

在下面的示例中,我們將使用反向迭代器計算 multimap 中的元素個數。

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a;
    a.insert({1, "TP"});
    a.insert({2, "Tutorix"});
    a.insert({3, "Tutorialspoint"});
    int count = 0;
    for (auto x = a.rbegin(); x != a.rend(); ++x) {
        count++;
    }
    std::cout << "Total Elements: " << count << std::endl;
    return 0;
}

輸出

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

Total Elements: 3
multimap.htm
廣告