C++ Deque::end() Function



The C++ std::deque::end() function is used to return an iterator pointing to the past the end element in the deque. This element acts as a placeholder and does not hold any valid value. The end() function is used to define a range that includes all the elements of the deque except the last one.

Syntax

Following is the syntax for std::deque::end() function.

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

Parameters

It does not accepts any parameter.

Return value

It returns an iterator pointing to the past the end element.

Exceptions

This function never throws exception.

Time complexity

The time complexity of this function is Constant i.e. O(1)

Example

Let's look at the following example, where we are going to insert the element at the end of the deque using insert() along with end().

#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;
}

Output

Output of the above code is as follows −

A B C D E

Example

Consider the following example, where we are going to append a range of elements from another container to the end of the 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;
}

Output

Following is the output of the above code −

A B C X Y Z

Example

In the following example, we are going to erase the last element of the deque using the erase() along with end().

#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;
}

Output

If we run the above code it will generate the following output −

1 22 333
deque.htm
Advertisements