Programa Java para implementar API de pila

Una pila es una estructura de datos lineal que sigue un orden particular en el que se realizan las operaciones de inserción/eliminación. El orden es LIFO (último en entrar, primero en salir) o FILO (primero en entrar, último en salir). Stack usa la función push() para insertar nuevos elementos en la función Stack y pop() para eliminar un elemento de la pila. Se permite la inserción y extracción en la pila en un solo extremo llamado Top. El estado de desbordamiento en la pila ocurre cuando está completamente llena y el estado de subdesbordamiento en la pila ocurre cuando está completamente vacía.

Ejemplo:

Input:

    stack.push(1)
    stack.push(2)
    stack.pop()
    stack.peek()

Output:
2
2

Sintaxis:

public class Stack<E> extends Vector<E>

API de pila implementa

Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess.

Métodos en la pila:

  1. vacío() – Prueba si esta pila está vacía.
  2. peek(): mira el objeto en la parte superior de esta pila sin quitarlo de la pila.
  3. pop(): elimina el objeto en la parte superior de esta pila y devuelve ese objeto como el valor de esta función.
  4. empujar (elemento E): empuja un elemento en la parte superior de esta pila.
  5. int search(Object o) – Devuelve la posición basada en 1 donde se encuentra un objeto en esta pila.

A continuación se muestra la implementación del enunciado del problema:

Java

// Java program to implement Stack API
import java.util.Stack;
 
public class StackImpl<E> {
    private Stack<E> stack;
 
    // Constructor to create empty Stack.
    public StackImpl() { stack = new Stack<E>(); }
 
    // method to check if stack is empty or not.
    public boolean empty() { return stack.empty(); }
 
    // method to return topmost element of stack
    public E peek() { return stack.peek(); }
 
    // method to remove and return topmost element of stack
    public E pop() { return stack.pop(); }
 
    // method to push an element into the stack
    public E push(E item) { return stack.push(item); }
 
    // method to return the position of an object
    // in a stack(1-based position)
    public int search(Object o) { return stack.search(o); }
 
    public static void main(String args[])
    {
        StackImpl<String> stack = new StackImpl<String>();
        System.out.println("element pushed : "
                           + stack.push("one"));
        System.out.println("element pushed : "
                           + stack.push("two"));
        System.out.println("element pushed : "
                           + stack.push("three"));
        System.out.println("element pushed : "
                           + stack.push("four"));
        System.out.println("element pushed : "
                           + stack.push("five"));
        System.out.println("element popped : "
                           + stack.pop());
        System.out.println("element popped : "
                           + stack.pop());
        System.out.println("Element peek : "
                           + stack.peek());
        System.out.println("position of element three - "
                           + stack.search("three"));
        while (!stack.empty()) {
            System.out.println("element popped : "
                               + stack.pop());
        }
    }
}
Producción

element pushed : one
element pushed : two
element pushed : three
element pushed : four
element pushed : five
element popped : five
element popped : four
Element peek : three
position of element three - 1
element popped : three
element popped : two
element popped : one

Publicación traducida automáticamente

Artículo escrito por Gunjanpaul y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *