Trong ví dụ này, chúng ta sẽ học cách triển khai cấu trúc dữ liệu ngăn xếp trong Java.
Để hiểu ví dụ này, bạn nên có kiến thức về các chủ đề lập trình Java sau:
- Lớp ngăn xếp Java
- Java Generics
Ví dụ 1: Chương trình Java để triển khai Stack
// 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(); ) )
Đầu ra
Chèn 1 Chèn 2 Chèn 3 Ngăn xếp: 1, 2, 3, Sau khi bật ra 1, 2,
Trong ví dụ trên, chúng ta đã triển khai cấu trúc dữ liệu ngăn xếp trong Java.
Để tìm hiểu thêm, hãy truy cập Cấu trúc dữ liệu ngăn xếp.
Ví dụ 2: Triển khai ngăn xếp bằng lớp Stack
Java cung cấp một Stack
lớp xây dựng có thể được sử dụng để triển khai một ngăn xếp.
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); ) )
Đầu ra
Stack: (Dog, Horse, Cat) Stack sau pop: (Dog, Horse)
Trong ví dụ trên, chúng ta đã sử dụng Stack
lớp để triển khai ngăn xếp trong Java. Đây,
- Animal.push () - chèn các phần tử lên đầu ngăn xếp
- Animal.pop () - xóa phần tử khỏi đầu ngăn xếp
Lưu ý, chúng ta đã sử dụng dấu ngoặc nhọn trong khi tạo ngăn xếp. Nó thể hiện rằng ngăn xếp là loại chung.