English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在这个实例中,我们将学习用Java实现堆栈数据结构。
要了解此示例,请确保您首先访问以下教程,
// Stack 实现于 Java class Stack { // 存储堆栈元素 private int[] arr; // 表示堆栈的顶部 private int top; // 堆栈的总容量 private int capacity; // 创建堆栈 Stack(int size) { // 初始化数组 // 初始化堆栈变量 arr = new int[size]; capacity = size; top = -1; } // 将元素推送到堆栈顶部 public void push(int x) { if (isFull()) { System.out.println("Stack OverFlow"); // termina il programma System.exit(1); } // inserisci l'elemento sulla cima dello stack System.out.println("Inserisci " + x); arr[++top] = x; } //Estrarre l'elemento dall'alto della pila public int pop() { // se lo stack è vuoto // non ci sono elementi da espellere if (isEmpty()) { System.out.println("STACK EMPTY"); // termina il programma System.exit(1); } //Estrarre l'elemento dall'alto della pila return arr[top--]; } // restituisce la dimensione dello stack public int getSize() { return top + 1; } // verifica se lo stack è vuoto public Boolean isEmpty() { return top == -1; } // verifica se lo stack è pieno public Boolean isFull() { return top == capacity - 1; } // visualizza gli elementi dello stack 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("Stack: "); stack.printStack(); // rimuovi l'elemento dalla pila stack.pop(); System.out.println("\nDopo l'espulsione"); stack.printStack(); } }
Risultato di output
Inserisci 1 Inserisci 2 Inserisci 3 Stack: 1, 2, 3, Dopo l'espulsione 1, 2,
Nell'esempio sopra, abbiamo implementato la struttura dati stack in Java.
Java fornisce una classe integrata Stack utilizzabile per implementare uno stack.
import java.util.Stack; class Main { public static void main(String[] args) { // creare un oggetto della classe Stack Stack<String> animals = new Stack<>(); //Inserire l'elemento in cima alla pila animals.push("Cane"); animals.push("Cavallo"); animals.push("Gatto"); System.out.println("Pila: " + animals); //Estrarre l'elemento dall'alto della pila animals.pop(); System.out.println("Dopo l'eccitazione Pila: " + animals); } }
Risultato di output
Pila: [Cane, Cavallo, Gatto] Pila: [Cane, Cavallo]
Nell'esempio sopra, abbiamo utilizzato la classe Stack di Java per implementare la pila. Ecco
animals.push() - Inserire l'elemento in cima alla pila
animals.pop() - Rimuovere l'elemento dall'alto della pila
Attenzione, <String> abbiamo utilizzato parentesi angolari nella creazione della pila. Questo indica che la pila è un tipo generico. Per ulteriori informazioni sui generici, visitareGenerics Java.