Biblioteca de listas C ++ - função erase ()

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