Estrutura de dados usando Typescript
Uma Lista Encadeada é uma estrutura de dados do tipo container, ou seja, serve para armazenar elementos em uma certa ordem. A lista encadeada oferece operações de acesso geral, tais como inserção, remoção e busca arbitrária. Uma das características mais importantes de uma lista encadeada é seu caráter dinâmico, que permite armazenar um número de elementos limitado apenas pela memória disponível.
Uma lista encadeada consiste de uma sequência linear de nós dinamicamente alocados, que são encadeados (ou conectados) através de ponteiros (ou apontadores).
Versões mais elaboradas de listas encadeadas utilizam nós com ponteiros para os nóss sucessor e antecessor (listas duplamente encadeadas) outras fazem com que o último nó aponte para o primeiro (listas circulares).
A vantagem é a flexibilidade na inserção e remoção de elementos. A desvantagem é que não temos acesso direto aos elementos. Não existe algo equivalente ao índice para se acessar diretamente o elemento.