C++ Deque Library - erase() Function


Advertisements

Description

The C++ function std::deque::erase() removes range of element from the the deque and modifies size of deque.

Declaration

Following is the declaration for std::deque::erase() function form std::deque header.

C++98

iterator erase (iterator first, iterator last);

C++11

iterator erase (const_iterator first, const_iterator last );

Parameters

  • first − Input iterator to the initial position in range.

  • last − Input iterator to the final position in range.

Return value

Returns a random access iterator.

Exceptions

If range is invalid then behavior is undefined.

Time complexity

Linear i.e. O(n)

Example

The following example shows the usage of std::deque::erase() function.

#include <deque>

using namespace std;

int main(void) {

   deque<int> d = {1, 2, 3, 4, 5};

   cout << "Contents of deque before erase operation" << endl;

   for (auto it = d.begin(); it != d.end(); ++it)
      cout << *it << endl;

   d.erase(d.begin(), d.begin() + 2);

   cout << "Contents of deque after erase operation" << endl;

   for (auto it = d.begin(); it != d.end(); ++it)
      cout << *it << endl;

   return 0;
}

Let us compile and run the above program, this will produce the following result −

Contents of deque before erase operation
1
2
3
4
5
Contents of deque after erase operation
3
4
5
deque.htm
Advertisements