document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /* AUTOR: d3n3k4 (Dnk!)
  2.  * WEB: http://d3n3k4.blogspot.com/
  3.  * FECHA: 05/DIC/2010
  4.  * DESCRIPCION:
  5.  *  - Clase lista dinamica de tipo PILA.
  6.  * NOTA: Este codigo es libre y puede ser usado,modificado... siempre y cuando se
  7.  *  mantenga los creditos y comentarios del autor.
  8.  */
  9. public class dinamicoPila {
  10.    
  11.     class Nodo {
  12.         int jData;
  13.         Nodo sig;
  14.     }
  15.    
  16.     private Nodo raiz;
  17.    
  18.     dinamicoPila() {
  19.         raiz = null;
  20.     }
  21.     /*
  22.      * Metodo para insertar un elemento en la lista.
  23.      */
  24.     public void insertar(int jDataEntrada) {
  25.         Nodo aux;
  26.         aux = new Nodo();
  27.         aux.jData = jDataEntrada;
  28.         if (raiz == null) {
  29.             aux.sig = null;
  30.             raiz = aux;
  31.         } else {
  32.             aux.sig = raiz;
  33.             raiz = aux;
  34.         }
  35.     }
  36.     /*
  37.      * Como esta clase es una "Pila". Ultimo en entrar, primero en salir", en este
  38.      * metodo se extrae el ultimo elemento que ha entrado en la lista, una vez extraido,
  39.      * sera borrado de la lista. Si la lista vacia devuelve el MAX_VALUE de int.
  40.      */
  41.     public int extraer() {
  42.         if (raiz != null) {
  43.             int dData = raiz.jData;
  44.             raiz = raiz.sig;
  45.             return dData;
  46.         } else
  47.             return Integer.MAX_VALUE;
  48.     }
  49.     /*
  50.      * Aqui podremos consultar el ultimo elemento de la lista que ha entrado. Sin
  51.      * que sea borrado ningun elemento.
  52.      * Si la lista vacia devuelve el MAX_VALUE de int.
  53.      */
  54.     public int consultarUltimo() {
  55.         if (raiz != null) {
  56.             return raiz.jData;
  57.         } else
  58.             return Integer.MAX_VALUE;
  59.     }
  60.     /*
  61.      * Aqui podremos consultar toda la lista al completo. Sin que sea borrado
  62.      * ningun elemento.
  63.      * Si la lista vacia devuelve el MAX_VALUE de int.
  64.      */
  65.     public int[] consultar() {
  66.         Nodo aux = raiz;
  67.         int vSalida[] = new int[lenLista()], vIndex = 0;
  68.        
  69.         while (aux != null) {
  70.             vSalida[vIndex] = aux.jData;
  71.             aux = aux.sig;
  72.             vIndex++;
  73.         }
  74.         return vSalida;
  75.     }
  76.     /*
  77.      * Metodo para consultar la longitud de la lista. Si la lista esta vacia
  78.      * retornara 0.
  79.      */
  80.     public int lenLista() {
  81.         Nodo aux = raiz;
  82.         int len = 0;
  83.         while (aux != null) {
  84.             len++;
  85.             aux = aux.sig;
  86.         }
  87.         return len;
  88.     }
  89.     /*
  90.      * Metodo para comprobar si la lista esta vacia.
  91.      */
  92.     public boolean empty() {
  93.         if (raiz == null) return true;
  94.         else return false;
  95.     }
  96. }
');