C++ Deque::end() 函式



C++ 的std::deque::end()函式用於返回一個指向deque中最後一個元素之後位置的迭代器。這個元素充當佔位符,不包含任何有效值。end()函式用於定義一個範圍,該範圍包含deque中的所有元素,除了最後一個元素。

語法

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

iterator end() noexcept;
const_iterator end() const noexcept;

引數

它不接受任何引數。

返回值

它返回一個指向最後一個元素之後位置的迭代器。

異常

此函式從不丟擲異常。

時間複雜度

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

示例

讓我們看下面的例子,我們將使用insert()和end()在deque的末尾插入元素。

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> x = {'A', 'B', 'C', 'D'};
    x.insert(x.end(), 'E');
    for (std::deque<char>::iterator a = x.begin(); a != x.end(); ++a) {
        std::cout << *a << " ";
    }
    std::cout << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

A B C D E

示例

考慮下面的例子,我們將把另一個容器中的一系列元素附加到deque的末尾。

#include <iostream>
#include <deque>
#include <vector>
int main()
{
    std::deque<char> a = {'A', 'B', 'C'};
    std::vector<char> b = {'X', 'Y', 'Z'};
    a.insert(a.end(), b.begin(), b.end());
    for (std::deque<char>::iterator x = a.begin(); x != a.end(); ++x) {
        std::cout << *x << " ";
    }
    std::cout << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

A B C X Y Z

示例

在下面的例子中,我們將使用erase()和end()刪除deque的最後一個元素。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> x = {1, 22, 333, 4444};
    x.erase(x.end() - 1);
    for (std::deque<int>::iterator a = x.begin(); a != x.end(); ++a) {
        std::cout << *a << " ";
    }
    std::cout << std::endl;
    return 0;
}

輸出

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

1 22 333
deque.htm
廣告