C++ Deque::rbegin() 函式



C++ 的std::deque::rbegin()函式用於返回指向 deque 中最後一個元素的反向迭代器。它允許從末尾開始反向遍歷 deque,並向開頭移動。它通常與 rend() 函式一起使用,rend() 函式指向第一個元素之前的元素。

語法

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

reverse_iterator rbegin() noexcept;
const_reverse_iterator rbegin() const noexcept;

引數

它不接受任何引數。

返回值

它返回指向 deque 中最後一個元素的反向迭代器。

異常

此函式從不丟擲異常。

時間複雜度

此函式的時間複雜度為常數,即 O(1)。

示例

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

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> a = {'A', 'B', 'C', 'D'};
    for (auto x = a.rbegin(); x != a.rend(); ++x) {
        std::cout << *x << " ";
    }
    return 0;
}

輸出

以上程式碼的輸出如下:

D C B A 

示例

考慮下面的示例,我們將以反向順序修改 deque。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a = {01,12,23,34};
    for (auto x = a.rbegin(); x != a.rend(); ++x) {
        *x += 2;
    }
    std::cout << "Modified elements: ";
    for (int val : a) {
        std::cout << val << " ";
    }
    return 0;
}

輸出

以上程式碼的輸出如下:

Modified elements: 3 14 25 36 

示例

讓我們來看下面的示例,我們將檢查 deque 是否為迴文。

#include <iostream>
#include <deque>
bool isPalindrome(const std::deque<char>& a)
{
    return std::equal(a.begin(), a.end(), a.rbegin());
}
int main()
{
    std::deque<char> x = {'A', 'B', 'C', 'B', 'A'};
    std::deque<char> y = {'A', 'B', 'C'};
    std::cout << "x is palindrome: " << (isPalindrome(x) ? "Yes" : "No") << std::endl;
    std::cout << "y is palindrome: " << (isPalindrome(y) ? "Yes" : "No") << std::endl;
    return 0;
}

輸出

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

x is palindrome: Yes
y is palindrome: No
deque.htm
廣告