[Thực hành] Triển khai stack sử dụng lớp LinkedList trong thư viện java.util

DSA: Stack, Queue

Mục đích

Triển khai stack sử dụng lớp LinkedList trong thư viện java.util

Mô tả

Thực thi lớp MyGenericStack sử dụng LinkedList trong thư viện java.util và StackClient theo sơ đồ lớp sau:

Hướng dẫn nộp bài:

  • Up mã nguồn lên github
  • Paste link github vào phần nộp bài

Hướng dẫn

Bước 1: Tạo lớp MyGenericStack với các thuộc tính:

import java.util.LinkedList;public class MyGenericStack<T> {    private LinkedList<T> stack;    public MyGenericStack() {        stack = new LinkedList();    }}

Bước 2: Cài đặt phương thức push()

public void push(T element) {
    stack.addFirst(element);
}

Bước 3: Cài đặt phương thức pop()

public T pop() {
    if (isEmpty()) {
        throw new EmptyStackException();
    }
    return stack.removeFirst();
}

Bước 4: Cài đặt phương thức size()

public int size() {
    return stack.size();
}

Bước 5: Cài đặt phương thức isEmpty()

public boolean isEmpty() {
    if (stack.size() == 0) {
        return true;
    }
    return false;
}

Bước 6: Cài đặt lớp GenericStackClient chứa hai phương thức stackOfStrings() và stackOfIntegers()

Cài đặt phương thức

private static void stackOfIStrings() {     MyGenericStack<String> stack = new MyGenericStack();     stack.push("Five");     stack.push("Four");     stack.push("Three");     stack.push("Two");     stack.push("One");     System.out.println("1.1 Size of stack after push operations: " + stack.size());     System.out.printf("1.2. Pop elements from stack : ");     while (!stack.isEmpty()) {         System.out.printf(" %s", stack.pop());     }     System.out.println("\n1.3. Size of stack after pop operations : " + stack.size()); }

Cài đặt phương thức

private static void stackOfIntegers() {     MyGenericStack<Integer> stack = new MyGenericStack();     stack.push(5);     stack.push(4);     stack.push(3);     stack.push(2);     stack.push(1);     System.out.println("2.1. Size of stack after push operations: " + stack.size());     System.out.printf("2.2. Pop elements from stack : ");     while (!stack.isEmpty()) {         System.out.printf(" %d", stack.pop());     }     System.out.println("\n3.3 Size of stack after pop operations : " + stack.size()); }

Bước 7: Cài đặt phương thức main() để thực thi chương trình

public class GenericStackClient {     public static void main(String[] args) {         System.out.println("1. Stack of integers");         stackOfIntegers();         System.out.println("\n2. Stack of Strings");         stackOfIStrings();     } }

Bước 8: Chạy chương trình. Quan sát kết quả trả về.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Leave a Reply

Your email address will not be published. Required fields are marked *