List
Uma lista é um Tipo Abstrato de Dados (ADT) que:
Permite armazenar elementos de qualquer tipo de dado
Permite inserir um elemento em uma posição específica
Permite ler um elemento de uma posição específica
Permite remover um elemento de uma posição específica
Permite atualizar um elemento em uma posição específica
Uma implementação concreta deste ADT é um Array, onde:
Os elementos do array podem ser de qualquer tipo de dado
Todas as operações mencionadas acima são possíveis
Exemplo de declaração e uso de um array em C:
As funcionalidades básicas de uma lista podem ser resumidas como:
Estas operações podem ser visualizadas na seguinte imagem:

Complexidade das operações principais:
Acesso: Ler/Escrever um elemento em um índice específico → tempo constante, Big O notation: O(1)
Inserção: O tempo é proporcional à quantidade de elementos → O(n)
Remoção: O tempo é proporcional à quantidade de elementos → O(n)
Adição: O tempo é proporcional à quantidade de elementos → O(n)