Advertisement
rfop

ListaDuplamenteOrdenada

Apr 3rd, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.12 KB | None | 0 0
  1. package teste;
  2. import java.util.Scanner;
  3. public class ListaDuplamenteEncadeada {
  4.     private static class No{
  5.         public int num;
  6.         public No prox;
  7.         public No ante;
  8.     }
  9.  
  10.     @SuppressWarnings("unused")
  11.     public static void main(String[] args) {
  12.         // TODO Auto-generated method stub
  13.         Scanner entrada = new Scanner(System.in);
  14.         No inicio = null;
  15.         No fim = null;
  16.         No aux = null;
  17.         int num,op=0;
  18.         do{
  19.             System.out.println("digite uma op");
  20.             op = entrada.nextInt();
  21.             if(op == 1){
  22.                 No novo = new No();
  23.                 System.out.println("digite o numero a ser inserido: ");
  24.                 novo.num = entrada.nextInt();
  25.                 if(inicio == null){
  26.                     inicio = novo;
  27.                     fim = novo;
  28.                     novo.prox = null;
  29.                     novo.ante = null;
  30.                 } else {
  31.                     aux = inicio;
  32.                     while(aux != null && novo.num > aux.num){
  33.                         aux = aux.prox;
  34.                     }
  35.                     if(inicio == null){
  36.                         novo.prox = inicio;
  37.                         novo.ante = null;
  38.                         inicio.ante = novo;
  39.                         inicio = novo;
  40.                        
  41.                     } else if(aux == null){
  42.                         fim.prox = novo;
  43.                         novo.ante = fim;
  44.                         fim = novo;
  45.                     } else {
  46.                         novo.prox = aux;
  47.                         aux.ante.prox = novo;
  48.                         novo.ante = aux.ante;
  49.                         aux.ante = novo;
  50.                     }
  51.                 }
  52.             } if(op == 2){
  53.                 if(inicio == null){
  54.                     System.out.println("a lista ta vazia");
  55.                 } else {
  56.                     System.out.println("Mostrando a lista");
  57.                     aux = inicio;
  58.                     while(aux != null){
  59.                         System.out.println(" " + aux.num);
  60.                         aux = aux.prox;
  61.                     }
  62.                 }
  63.                
  64.             } if(op == 3){
  65.                 if(inicio == null){
  66.                     System.out.println("A lista ta vazia");
  67.                 } else {
  68.                     System.out.println("Digite o numero a ser removido:  ");
  69.                     num = entrada.nextInt();
  70.                     aux = inicio;
  71.                     while(aux != null){
  72.                         if(aux.num == num){
  73.                             if(aux == inicio){
  74.                                 inicio.prox = null;
  75.                                 if(inicio != null){
  76.                                     inicio.ante = null;
  77.                                 }
  78.                                 aux = inicio;
  79.                             } else if(aux == fim){
  80.                                 fim = fim.ante;
  81.                                 fim.prox = null;
  82.                                 aux = null;
  83.                             } else {
  84.                                 aux = aux.prox;
  85.                             }
  86.                         } else {
  87.                             aux = aux.prox;
  88.                         }
  89.                     }
  90.                 }
  91.             }
  92.         }while(op != 4);
  93.     }
  94.  
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement