JavaScriptPOOavancado

Classe LinkedList

Lista encadeada é uma das perguntas mais clássicas de entrevista técnica — e não por acaso: entender como ela funciona por dentro ensina como qualquer estrutura de dados dinâmica (inclusive o array que você já usa) lida com inserção, remoção e navegação sem um índice numérico direto.

O PROBLEMA

Implemente lista encadeada com classes No e LinkedList. Métodos: append, prepend, delete, search, toArray, size.

EXEMPLO

const list = new LinkedList();
list.append(1); list.append(2); list.prepend(0);
list.toArray() → [0,1,2]

SOBRE O CONCEITO

Cada elemento é um No (nó) que guarda um valor e uma referência (next) pro próximo nó — não existe posição numérica, só ponteiros encadeados. A LinkedList guarda uma referência pro primeiro nó (head) e navega a lista percorrendo no.next em sequência dentro de um while, até bater em null (o fim da lista). O ponto mais delicado é delete: ao remover um nó do meio, você precisa reconectar o next do nó anterior direto pro nó seguinte — perder essa referência no meio do caminho quebra a lista inteira a partir dali, e remover o primeiro elemento exige atualizar o head em vez de mexer em next.

RESOLUÇÃO

Mais exercícios de POO

JSP005 · BásicoContador de instânciasJSP008 · Básicoinstanceof e verificação de tipoJSP009 · BásicoClasse abstrata simuladaJSP012 · IntermediárioHerança múltipla com mixin
Ver todos os exercícios de JavaScript