=====erase=====
Syntax:
#include
iterator erase( iterator loc );
iterator erase( iterator start, iterator end );
The erase() function either deletes the element at location loc, or deletes the
elements between start and end (including start but not including end). The
return value is the element after the last element erased.
The first version of erase (the version that deletes a single element at
location loc) runs in [[/complexity|constant time]] for lists and [[/complexity|linear time]] for vectors,
deques, and strings. The multiple-element version of erase always takes
[[/complexity|linear time]].
For example:
// Create a deque, load it with the first ten characters of the alphabet
deque alphaDeque;
for( int i=0; i < 10; i++ ) {
static const char letters[] = "ABCDEFGHIJ";
alphaDeque.push_back( letters[i] );
}
int size = alphaDeque.size();
deque::iterator startIterator;
deque::iterator tempIterator;
for( int i=0; i < size; i++ ) {
startIterator = alphaDeque.begin();
alphaDeque.erase( startIterator );
// Display the deque
for( tempIterator = alphaDeque.begin(); tempIterator != alphaDeque.end (); ++tempIterator ) {
cout << *tempIterator;
}
cout << endl;
}
That code would display the following output:
BCDEFGHIJ
CDEFGHIJ
DEFGHIJ
EFGHIJ
FGHIJ
GHIJ
HIJ
IJ
J
In the next example, erase() is called with two iterators to delete a range of
elements from a deque:
// create a deque, load it with the first ten characters of the alphabet
deque alphaDeque;
for( int i=0; i < 10; i++ ) {
static const char letters[] = "ABCDEFGHIJ";
alphaDeque.push_back( letters[i] );
}
// display the complete deque
for( deque::size_type i = 0; i < alphaDeque.size(); i++ ) {
cout << alphaDeque[i];
}
cout << endl;
// use erase to remove all but the first two and last three elements
// of the deque
alphaDeque.erase( alphaDeque.begin()+2, alphaDeque.end()-3 );
// display the modified deque
for( deque::size_type i = 0; i < alphaDeque.size(); i++ ) {
cout << alphaDeque[i];
}
cout << endl;
When run, the above code displays:
ABCDEFGHIJ
ABHIJ
Related Topics: [[clear]], [[insert]], [[pop_back]], [[pop_front]]