English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este ejemplo, aprenderemos a implementar la estructura de datos pila usando Java.
Para entender este ejemplo, asegúrate de que primero accedas a los siguientes tutoriales:
// Implementación de Stack en Java class Stack { //Almacena los elementos de la pila private int arr[]; //Representa la parte superior de la pila private int top; //Capacidad total de la pila private int capacity; //Crear pila Stack(int size) { // Inicializar el array // Inicializar las variables de la pila arr = new int[size]; capacity = size; top = -1; } // Enviar el elemento a la parte superior de la pila public void push(int x) { if (isFull()) { System.out.println("Desbordamiento de pila"); // Terminar el programa System.exit(1); } //Insertar un elemento en la parte superior de la pila System.out.println("Insertar " + x); arr[++top] = x; } //从堆栈顶部弹出元素 public int pop() { //Si la pila está vacía //No hay elementos que desapilar if (isEmpty()) { System.out.println("PILA VACÍA"); //Terminar el programa System.exit(1); } //从堆栈顶部弹出元素 return arr[top--]; } //Devolver el tamaño de la pila public int getSize() { return top + 1; } // Verificar si la pila está vacía public Boolean isEmpty() { return top == -1; } // Verificar si la pila está llena public Boolean isFull() { return top == capacity - 1; } // Mostrar los elementos de la pila public void printStack() { for (int i = 0; i <= top; i++) { System.out.print(arr[i] + ", "); } } public static void main(String[] args) { Stack stack = new Stack(5); stack.push(1); stack.push(2); stack.push(3); System.out.print("Pila: "); stack.printStack(); //Eliminar elementos de la pila stack.pop(); System.out.println("\nDespués de desapilar"); stack.printStack(); } }
输出结果
Insertar 1 Insertar 2 Insertar 3 Pila: 1, 2, 3, Después de desapilar 1, 2,
En el ejemplo anterior, ya hemos implementado la estructura de datos de pila en Java.
Java proporciona una clase integrada Stack que se puede usar para implementar una pila.
import java.util.Stack; class Main { public static void main(String[] args) { //Crear un objeto de la clase Stack Stack<String> animals = new Stack<>(); //将元素推入堆栈顶部 animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); //从堆栈顶部弹出元素 animals.pop(); System.out.println("弹出后 Stack: " + animals); } }
输出结果
Stack: [Dog, Horse, Cat] 弹出后 Stack: [Dog, Horse]
在上面的示例中,我们使用了Java的Stack类以实现堆栈。这里,
animals.push() - 将元素插入堆栈顶部
animals.pop() - 从堆栈顶部删除元素
注意,我们<String>在创建堆栈时使用了尖括号。它表示堆栈是泛型类型。要了解有关泛型的更多信息,请访问Java 泛型。