Академический Документы
Профессиональный Документы
Культура Документы
C A D E
C C
Listas Encadeadas Simples Listas Encadeadas Simples
Nodo lista = new Nodo(); Nodo lista = new Nodo();
Colocando o valor ‘A’ lista.data = ‘C’; Criando uma lista.data = ‘C’;
na parte data da área lista.link = new Nodo(); referência auxiliar para lista.link = new Nodo();
referenciada por lista.link.data = ‘A’;
ajudar na criação da lista.link.data = ‘A’;
lista.link ... lista...
Nodo aux = new Nodo(); Nodo aux = new Nodo();
aux.data = ‘D’; aux.data = ‘D’;
Referência
aux.link = new Nodo(); auxiliar
aux.link = new Nodo();
lista aux.link.data = ‘E’; lista aux.link.data = ‘E’;
aux.link.link = null; aux.link.link = null;
aux
lista.link.link = aux; lista.link.link = aux;
C A C A
C A C A D
C A D C A D E
Listas Encadeadas Simples Listas Encadeadas Simples
Nodo lista = new Nodo(); Nodo lista = new Nodo();
Colocando nulo (null) lista.data = ‘C’; Ligando as duas listas ao lista.data = ‘C’;
na parte link da área lista.link = new Nodo();
colocar o conteúdo de aux
lista.link = new Nodo();
referenciada por lista.link.data = ‘A’;
na parte link da área
lista.link.data = ‘A’;
aux.link... referenciada por lista.link...
Nodo aux = new Nodo(); Nodo aux = new Nodo();
aux.data = ‘D’; aux.data = ‘D’;
Referência Referência
auxiliar
aux.link = new Nodo(); auxiliar
aux.link = new Nodo();
lista aux.link.data = ‘E’; lista aux.link.data = ‘E’;
aux.link.link = null; aux.link.link = null;
aux aux
lista.link.link = aux; lista.link.link = aux;
C A D E C A D E
C A D E C A D E
C A D E C A D E
Listas Encadeadas Simples Listas Encadeadas Simples
Vejamos a inclusão Nodo aux2 = new Nodo(); Vejamos a inclusão Nodo aux2 = new Nodo();
de ‘G’ passo a passo: // cria referência aux2 e o novo nodo de ‘G’ passo a passo: // cria referência aux2 e o novo nodo
aux2.data = ‘G’; aux2.data = ‘G’;
// coloca ‘G’ no data do novo nodo // coloca ‘G’ no data do novo nodo
Referência aux2 aux2.link = lista; Referência aux2 aux2.link = lista;
auxiliar // coloca referência da lista no link auxiliar // coloca referência da lista no link
// do novo nodo // do novo nodo
lista lista = aux2; lista lista = aux2;
// faz lista referenciar o novo nodo // faz lista referenciar o novo nodo
G G
C A D E C A D E
C A D E
C A D E
C A D E C A D E
Listas Encadeadas Simples Listas Encadeadas Simples
Nodo aux3=lista; Nodo aux3=lista;
Mostra o valor da // referencia o inicio da lista em aux3 Mostra o valor da // referencia o inicio da lista em aux3
parte data da área while(aux3!=null){ parte data da área while(aux3!=null){
// enquanto não chegar a nulo // enquanto não chegar a nulo
que aux3 que aux3
System.out.println(aux3.data); System.out.println(aux3.data);
referencia: ‘C’ referencia...
// mostra o data // mostra o data
Referência aux3=aux3.link Referência aux3=aux3.link
auxiliar // vai para o próximo auxiliar // vai para o próximo
lista aux3 } lista aux3 }
C A D E C A D E
C A D E C A D E
C A D E C A D E
Listas Encadeadas Simples Listas Encadeadas Simples
Nodo aux3=lista; Nodo aux3=lista;
Como o aux3 não // referencia o inicio da lista em aux3 Como a parte link do // referencia o inicio da lista em aux3
nodo referenciado por
é nulo o loop não é while(aux3!=null){ aux3 é nulo aux3
while(aux3!=null){
// enquanto não chegar a nulo // enquanto não chegar a nulo
encerrado e o valor recebe nulo e então
System.out.println(aux3.data); sai do loop. System.out.println(aux3.data);
‘E’ é mostrado...
// mostra o data // mostra o data
Referência aux3=aux3.link Referência aux3=aux3.link
auxiliar // vai para o próximo auxiliar // vai para o próximo
lista aux3 } lista aux3 }
C A D E C A D E
C A D E
C A D E
LV A D HV
Lista duplamente encadeada
Exercícios com listas Exercícios com listas
1. Para implementarmos uma pilha usando listas 2. Construa um método que retire a duplicidade
encadeadas é necessário guardarmos somente a de elementos de uma lista ordenada cuja
referência inicial da lista como o topo da pilha. referência é passada como parâmetro.
Sendo assim para incluir um elemento na pilha 3. Construa um método que transforme uma lista
basta criar um novo nodo incluí-lo na 1a. posição ligada convencional cuja referência é passada
da lista. Para retirar um elemento da pilha basta como parâmetro em uma lista circular.
retirar o 1o. elemento da lista mantendo o próximo 4. Construa um método que concatene duas listas
elemento como topo. Implemente os métodos ligadas convencionais cujas referências são
push e pop considerando que a classe nodo com passadas como parâmetro.
um campo data do tipo int e um link já foi criada.
- void push(Nodo topo, int elem) 5. Construa um método que conte e retorne a
quantidade de elementos de uma lista ligada cuja
- int pop(Nodo topo) referência é passada como parâmetro.