Você está na página 1de 18

19.03.

2021
SUMÁRIO: LISTAS LIGADAS
- ALGORITMOS
LISTAS LIGADAS
Aula #5 (Teorica)
Aula # 4 (Pratica)

Dr. Ticongolo, Inacio Gaspar


___________________________________________________________________
Março de 2021
 Introdução
ArrayLists (listas implementadas com array) são
uma alternativa ao uso direto de arrays em Java,
porém apresenta seguintes inconvenientes:

 (1) Adicionar um elemento na primeira posição;


 (2) Remover um elemento da primeira posicao
 (3) O número de posições no ArrayList ainda é
previamente fixado, embora possa aumentar de
tamanho sempre que necessário.

3
 Para resolver estes incovenientes vamos
recorrer à uma outra estrutura, Lista Ligada
ou encadeada.

 Para esta estrutura, iremos reimplementar os


métodos implementados no ArrayList, porém,
o maior destaque está na adição e remoção
de elementos no início da lista.

4
 Então a idéia aqui é ter uma forma de, dado
um elemento, saber quem é o próximo, sem
usar uma estrutura fixa.

5
6
 Para Conseguirmos esta estrutura, vamos
usar referência que posteriormente
chamaremos de “Nó”. Então, cada elemento
da nossa estrutura deve estar acopulado a um
nó.

7
 public class No {
 private No proximo;
 private Object elemento;
 public No(Object elemento, No proximo) {
 this.elemento = elemento;
 this.proximo = proximo;
 }
 public No(Object elemento) {
 this.elemento = elemento;
 }
 public void setProximo(No proximo) {
 this.proximo = proximo;
 }
 public No getProximo() {
 return proximo;
 }
 public Object getElemento() {
 return elemento;
 }
 }

8
 public class ListaLigada {
 private No primeiro;
 private No ultimo;
 }

9
10
 Adicionando no início da Lista

11
 Adicionando no início da Lista

12
 Adicionando no Fim da Lista

13
 Adicionando em qualquer posição da Lista

14
 Removendo do início da Lista

15
 Removendo no fim da Lista

16
public interface InterfaceGeral {
public void adicionaInicio(Object elemento) ;
//adiciona elemento no inicio da lista
public void adicionaPosicao(int posicao, Object elemento);
//adiciona elemento numa dada posição
public void adicionaFim (Object elemento) ;
//adiciona elemento no fim da lista
public Object pega(int posicao) ;
//devolve elemento duma dada posicao
public void removeInicio();
//remove elemento no inicio
public void removePosicao(int posicao);
//remove elemento duma dada posição
public void removeFim();
//remove elemento no fim
public boolean contem(Object elemento);
// verifica se a lista contem um dado elemento
public int tamanho();
//devolve o numero de elementos da lista
}

17
FIM

Maputo, Abril de 2020

18

Você também pode gostar