Resolvendo exercicio de Lista Duplamente Encadeada
Maranhão
ADS - Análise e Desenvolvimento de Sistemas
Estrutura de Dados
Deusmar Ribeiro | Eduardo Henrique
Franckin Teixeira | Gabriel Martins
Ítalo Diego
Listas Duplamente Encadeadas
Introdução
Uma Lista Duplamente Encadeada (LDE) permite o deslocamento em ambas as direções para frente e para trás.
Permitem uma grande variedade de operações rápidas. Inserções e remoções nas extremidades e no meio.
Armazena duas referencias - uma ligação next e uma previous.
Listas 5
#Java
Lista 5
• Antes de começamos a resolver a lista, precisamos criar um projeto chamado ED2015.1 dentro desse projeto iremos criar o pacote chamado, br.edu.facema.lista5
• Dentro desse pacote iremos fazer as Classes:
Aluno, Node, DequeList, e a classe teste.
Let’s go!
Lista 5
public class Aluno private String private double
{ nome; media;
public Aluno (String nome, double media){ this.media = media; this.nome = nome;
//Métodos getters e setters abaixo
Lista 5
Lista 5 - Implementando a classe Node. public class Node<T> { private T element; private Node<T> next; private Node<T> previous; public Node(T element) { this.element = element;
}
public Node() {
}
//Métodos getters e setters abaixo
Lista 5 - Implementando a classe
DequeList.
Atributos privados da Classe DequeList
public class DequeList<T> { private Node<T> header; private Node<T> trailler; private int size; public DequeList (){ header = new Node<T>(); trailer = new Node<T>(); header.setNext(trailer); trailer.setPrevious(header); size = 0;
}
public int size(){ return this.size;
}
public boolean isEmpyte(){ return size() == 0;
}
Lista 5 - Implementando a classe
DequeList.
public T removerFirst(){ if (isEmpyte()){ throw new RuntimeException("Lista
Vazia!");
}
Node atualPrimeiro = header.getNext();
Node novoAtualPrimeiro = atualPrimeiro.getNext(); header.setNext(novoAtualPrimeiro); novoAtualPrimeiro.setPrevious(header); size--; return (T) atualPrimeiro.getElement();
}
Lista