Exemplo de uma lista ligada
Classe Lista
Classe Lista_Ligada
Classe No
Classe pessoa
Classe Lista
package lista_ligada; public class Lista { private No primeiro; private No ultimo; public void inserirFinal(Pessoa p){ No n = new No(); n.setPessoa(p); n.setProximo(null); if(this.isVazia()){ this.primeiro = n; this.ultimo = n; } else{ this.ultimo.setProximo(n); this.ultimo = n; } } public void inserirInicio(Pessoa p){ No n = new No(); n.setPessoa(p); if(this.isVazia()){ n.setProximo(null); this.primeiro = n; this.ultimo = n; } else{ n.setProximo(primeiro); primeiro = n; } } public boolean isVazia(){ if(this.primeiro == null){ return true; } else{ return false; } } public void listar(){ No n = this.primeiro; while(n != null){ System.out.println("Nome: " + n.getPessoa().getNome()); n = n.getProximo(); } } public int tamanho(){ int tam = 0; No n = this.primeiro; while(n != null){ tam++; n = n.getProximo(); } return tam; } }
Classe Lista_Ligada
package lista_ligada; import java.util.Scanner; public class Lista_ligada { public static void main(String[] args) { Lista l = new Lista(); Scanner entrada = new Scanner(System.in); Pessoa p; while(true){ System.out.println("1 - Inserir no Início"); System.out.println("2 - Inserir no Final"); System.out.println("3 - Listar"); System.out.println("4 - Tamanho"); System.out.println("5 - Sair"); System.out.print("Informe a opção desejada: "); int opcao = Integer.parseInt(entrada.nextLine()); switch(opcao){ case 1: System.out.println("Informe o nome: "); p = new Pessoa(entrada.nextLine()); l.inserirInicio(p); break; case 2: System.out.println("Informe o nome: "); p = new Pessoa(entrada.nextLine()); l.inserirFinal(p); break; case 3: l.listar(); break; case 4: System.out.println("Tamanho: " + l.tamanho()); break; case 5: System.exit(0); break; default: System.out.println("Opção inválida"); break; } } } }
Classe No
package lista_ligada; public class No { Pessoa pessoa; No proximo; public Pessoa getPessoa() { return pessoa; } public void setPessoa(Pessoa pessoa) { this.pessoa = pessoa; } public No getProximo() { return proximo; } public void setProximo(No proximo) { this.proximo = proximo; } }
Classe pessoa
package lista_ligada; public class Pessoa { private String nome; public String getNome() { return nome; } public Pessoa(String nome) { this.nome = nome; } public void setNome(String nome) { this.nome = nome; } }
0 comentarios:
Postar um comentário