Advertisement
gastaojunior

Untitled

Apr 19th, 2013
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.43 KB | None | 0 0
  1. import javax.swing.*;
  2.  
  3. class No{
  4.     int valor;
  5.     No prox;
  6.  
  7.     public No(int v){
  8.         valor = v;
  9.         prox = null;
  10.     }
  11. }
  12.  
  13. class Lista{
  14.     No primeiro,ultimo;
  15.     int totalNos;
  16.  
  17.     public Lista(){
  18.         primeiro = ultimo = null;
  19.         totalNos = 0;
  20.     }
  21.  
  22.     public int getTotalNos(){
  23.         return totalNos;
  24.     }
  25.  
  26.     public boolean checkIfListaVazia(){
  27.         if (getTotalNos() == 0){
  28.             return true;
  29.        }
  30.        return false;
  31.     }
  32.  
  33.     public void inserirNoInicio(No n) {
  34.         if ( checkIfListaVazia() ){
  35.             primeiro = ultimo = n;
  36.         }
  37.         else{
  38.             n.prox = primeiro;
  39.             primeiro = n;
  40.         }
  41.         totalNos++;
  42.     }
  43.  
  44.     public void inserirNoFim(No n){
  45.         // caso não existam nós inseridos,
  46.         // insere o primeiro nó (n) na lista
  47.         if ( checkIfListaVazia() ){
  48.             primeiro = ultimo = n;
  49.         }
  50.         else{
  51.             ultimo.prox = n;
  52.             ultimo = n;
  53.        }
  54.        totalNos++;
  55.     }
  56.  
  57.     public void excluirNo(No n){
  58.         No noAtual;
  59.         No noAnterior;
  60.         noAtual = noAnterior = primeiro;
  61.         int contador = 1;
  62.  
  63.         if (checkIfListaVazia() == false){
  64.             while (contador <= getTotalNos() &&
  65.                      noAtual.valor != n.valor){
  66.                 noAnterior = noAtual;
  67.                 noAtual = noAtual.prox;
  68.                 contador++;
  69.             }
  70.  
  71.         if(noAtual.valor == n.valor){
  72.             if ( getTotalNos() == 1){
  73.                 primeiro = ultimo = null;
  74.            }
  75.            else{
  76.                if (noAtual == primeiro){
  77.                    primeiro = noAtual.prox;
  78.                }
  79.                else{
  80.                    noAnterior.prox = noAtual.prox;
  81.                }
  82.            }
  83.            totalNos--;
  84.         }
  85.     }
  86. }
  87.  
  88. public void exibirLista(){
  89.     No temp = primeiro;
  90.     String valores = "";
  91.     int contador = 1;
  92.     if ( checkIfListaVazia() == false ){
  93.         while (contador <= getTotalNos()){
  94.             valores += Integer.toString(temp.valor)+"-";
  95.             temp = temp.prox;
  96.             contador++;
  97.         }
  98.     }
  99.  }
  100.     JOptionPane.showMessageDialog(null, valores);
  101. }
  102.  
  103. public class ListaEncadeadaSimples {
  104.  public static void main(String[] args) {
  105.  Lista l = new Lista();
  106.  
  107.  l.inserirNoFim(new No(2));
  108.  l.inserirNoFim(new No(12));
  109.  l.inserirNoInicio(new No(22));
  110.  l.inserirNoFim(new No(32));
  111.  l.inserirNoFim(new No(2));
  112.  
  113.  l.exibirLista();
  114.  
  115.  l.excluirNo(new No(12));
  116.  l.exibirLista();
  117.  }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement