domingo, 8 de mayo de 2016

Estructura de datos - Pila.

Pila.



La clase java.util.Stack implementa una pila de tipo LIFO (Last In First Out – Último en Entrar Primero en Salir). A continuación se presentan los puntos importantes sobre Stack:

  • Cuando una pila es creada, no contiene elementos.
  • En esta clase, el último elemento insertado es accedido primero.

Algunos de sus métodos son:

Método
Descripción
boolean empty()
Verifica si la pila contiene elementos.
Elemento peek()
Mira el elemento en la parte superior de la pila sin borrarlo.
Elemento pop()
Devuelve el elemento en la parte superior de la pila y lo borra.
Elemento push()
Inserta el elemento en la parte superior de la pila.
int search(Elemento elemento)
Devuelve la posición del elemento dentro de la pila, o -1 si no lo encuentra.

Adicionalmente, Stack hereda métodos de las siguientes clases:

  • java.util.Vector
  • java.util.AbstractList
  • java.util.Object
  • java.util.List



Ejemplo:

import java.util.*;
public class StackDemo {
      public static void main(String [] args) {
           
            // Creando la pila
            Stack st = new Stack();
           
            // Agregando elementos a la pila
            st.push("Java");
            st.push("Source");
            st.push("code");
           
            // Mostrando los elementos de la pila
            System.out.println("Elementos de la pila: " + st);
           
            // Eliminando el elemento de la parte superior de la pila
            System.out.println("El objeto eliminado es: " + st.pop());
           
            // Mostrando los elementos de la pila después del borrado
            System.out.println("Elementos de la pila: " + st);
           
            // Verificando que existe el valor "A" en la pila
            System.out.println("Contiene el valor \"A\"? " + (st.contains("A") ? "si" : "no"));
           
            // Verificando que existe el valor "Source" en la pila
            System.out.println("Contiene el valor \"Source\"? " + (st.contains("Source") ? "si" : "no"));
           
            // Verificando que la pila contenga datos
            System.out.println("Pila vacía? " + (st.empty() ? "si" : "no"));
           
            // Buscando el elemento "Source"
            System.out.println("Resultado de la búsqueda del elemento \"Source\": "
                        + st.search("Source") + " elemento encontrado");
      }
}


No hay comentarios:

Publicar un comentario