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