C++ List Library - erase() Function


Advertisements

Description

The C++ function std::list::erase() removes single element from the the list and decreases it's size by one.

Declaration

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

C++98

iterator erase (iterator position);

C++11

iterator erase (const_iterator position);

Parameters

position − Iterator to the list element.

Return value

Returns a random access iterator which points to the location from where element was removed.

Exceptions

If position is invalid then behavior is undefined.

Time complexity

Linear i.e. O(n)

Example

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

#include <iostream>
#include <list>

using namespace std;

int main(void) {
   list<int> l = {1, 2, 3, 4, 5};

   cout << "Size of list befor erase operation = " << l.size() << endl;

   l.erase(l.begin());

   cout << "Size of list after erase operation = " << l.size() << endl;

   cout << "List contains following elements" << endl;

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

   return 0;
}

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

Size of list befor erase operation = 5
Size of list after erase operation = 4
List contains following elements
2
3
4
5
list.htm
Advertisements