In dit voorbeeld zullen we leren om de datastructuur van de stack in Java te implementeren.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java Stack-klasse
- Java Generics
Voorbeeld 1: Java-programma om Stack te implementeren
// Stack implementation in Java class Stack ( // store elements of stack private int arr(); // represent top of stack private int top; // total capacity of the stack private int capacity; // Creating a stack Stack(int size) ( // initialize the array // initialize the stack variables arr = new int(size); capacity = size; top = -1; ) // push elements to the top of stack public void push(int x) ( if (isFull()) ( System.out.println("Stack OverFlow"); // terminates the program System.exit(1); ) // insert element on top of stack System.out.println("Inserting " + x); arr(++top) = x; ) // pop elements from top of stack public int pop() ( // if stack is empty // no element to pop if (isEmpty()) ( System.out.println("STACK EMPTY"); // terminates the program System.exit(1); ) // pop element from top of stack return arr(top--); ) // return size of the stack public int getSize() ( return top + 1; ) // check if the stack is empty public Boolean isEmpty() ( return top == -1; ) // check if the stack is full public Boolean isFull() ( return top == capacity - 1; ) // display elements of 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(); // remove element from stack stack.pop(); System.out.println("After popping out"); stack.printStack(); ) )
Uitvoer
Invoegen 1 Invoegen 2 Invoegen 3 Stapel: 1, 2, 3, na uitklappen 1, 2,
In het bovenstaande voorbeeld hebben we de stack-datastructuur geïmplementeerd in Java.
Bezoek Stack Data Structure voor meer informatie.
Voorbeeld 2: Implementeer stapel met behulp van de klasse Stack
Java biedt een ingebouwde Stack
klasse die kan worden gebruikt om een stapel te implementeren.
import java.util.Stack; class Main ( public static void main(String() args) ( // create an object of Stack class Stack animals= new Stack(); // push elements to top of stack animals.push("Dog"); animals.push("Horse"); animals.push("Cat"); System.out.println("Stack: " + animals); // pop element from top of stack animals.pop(); System.out.println("Stack after pop: " + animals); ) )
Uitvoer
Stapel: (hond, paard, kat) stapel na pop: (hond, paard)
In het bovenstaande voorbeeld hebben we de Stack
klasse gebruikt om de stapel in Java te implementeren. Hier,
- animals.push () - voeg elementen toe aan de bovenkant van de stapel
- animals.pop () - verwijder het element van de bovenkant van de stapel
Let op, we hebben de punthaken gebruikt bij het maken van de stapel. Het geeft aan dat de stapel van het generieke type is.