Mega Code Archive

 
Categories / C++ Tutorial / List
 

Erasing Elements in a list

#include <list> #include <iostream> using namespace std; void PrintListContents (const list <int>& listInput); int main () {     std::list <int> listIntegers;     listIntegers.push_front (4);     listIntegers.push_front (3);     // Store an iterator obtained in using the 'insert' function     list <int>::iterator iElementValueTwo;     iElementValueTwo = listIntegers.insert (listIntegers.begin (), 2);     listIntegers.push_front (1);     listIntegers.push_front (0);     // Insert an element at the end...     listIntegers.push_back (5);     cout << "Initial contents of the list:" << endl;     PrintListContents (listIntegers);     listIntegers.erase (listIntegers.begin (), iElementValueTwo);     cout << "Contents after erasing a range of elements:" << endl;     PrintListContents (listIntegers);     cout<<"Contents after erasing element '"<<*iElementValueTwo<<"':"<<endl;     listIntegers.erase (iElementValueTwo);     PrintListContents (listIntegers);     listIntegers.erase (listIntegers.begin (), listIntegers.end ());     cout << "Contents after erasing a range:" << endl;     PrintListContents (listIntegers);     return 0; } void PrintListContents (const list <int>& listInput) {     if (listInput.size () > 0)     {         std::list <int>::const_iterator i;         for ( i = listInput.begin (); i != listInput.end (); ++ i )             cout << *i << " ";     }     else         cout << "List is empty!" << endl; }