Atualizado pela última vez em junho de 2025.
Listas são estruturas dinâmicas, de acesso sequencial. Listas são usadas para armazenar e recuperar informações em quantidades que variam com frequência durante a execução do programa. Quando não se tem ideia do volume de informações que o programa vai trabalhar, as listas também costumam ser preferíveis em relação aos vetores. A STL proporciona duas classes para lista:
Para iterar entre os elementos da lista, usa-se iteradores, da classe list<>::iterator (ou const_iterator, reverse_iterator, const_reverse_iterator). Iteradores são como ponteiros: eles são uma referência para um elemento da lista. Derreferenciar um iterador com o operador * produz o elemento da lista. Se for iterar todos os elementos da lista, provavelmente é fácil usar um simples for. Iteratores podem ser atualizados com o operador ++ (ou -- quando aplicável). Prefira os operadores de pré-incremento (++i) em vez dos de pós-incremento (i++).
Para usar a classe list deve-se incluir o arquivo list. Para usar a classe forward_list deve-se incluir o arquivo forward_list. A interface das duas classes é equivalente e este material demonstra o uso apenas da classe list.
Método | Descrição |
push_back(elemento) | Insere um elemento no fim da lista |
push_front(elemento) | Insere um elemento no início da lista |
insert(iterador,elemento) | Insere um elemento na posição indicada pelo iterador |
erase(iterador) | Remove um elemento da posição indicada pelo iterador |
sort() | Ordena os elementos da lista (opcionalmente, pode-se passar uma função de comparação com comportamento semelhante ao operador <) |
reverse() | Inverte a ordem dos elementos na lista |
begin() | Retorna um iterador que aponta para o primeiro elemento |
end() | Retorna um iterador que aponta para o último elemento |
empty() | Verifica se a lista está vazia |
size() | Retorna o número de elementos da lista |
front() | Retorna o primeiro elemento da lista |
back() | Retorna o último elemento da lista |
clear() | Remove todos os elementos da lista |
Ver arquivo lista.cpp