Descrição
A função C ++ std::list::erase() remove um único elemento da lista e diminui seu tamanho em um.
Declaração
A seguir está a declaração para o cabeçalho da função std :: list :: erase () std :: list
C ++ 98
iterator erase (iterator position);
C ++ 11
iterator erase (const_iterator position);
Parâmetros
position - Iterador para o elemento da lista.
Valor de retorno
Retorna um iterador de acesso aleatório que aponta para o local de onde o elemento foi removido.
Exceções
Se a posição for inválida, o comportamento é indefinido.
Complexidade de tempo
Linear, ou seja, O (n)
Exemplo
O exemplo a seguir mostra o uso da função std :: list :: erase ().
#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;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
Size of list befor erase operation = 5
Size of list after erase operation = 4
List contains following elements
2
3
4
5