Java Bài 10.19: Ngăn xếp


Submit solution

Points: 10 (partial)
Time limit: 1.0s
Memory limit: 125M

Author:
Problem type
Allowed languages
Java

Xây dựng lớp MyStack.

  • Các thuộc tính cần có trong lớp MyStack:

    • \(element\): Object[] - mảng chứa các phần tử của ngăn xếp.
    • \(size\): int - số phần tử trong ngăn xếp.
    • \(capacity\): int - dung lượng của ngăn xếp.
    • \(top\): int - chỉ số của phần tử ở đỉnh ngăn xếp.
  • Các phương thức cần có trong lớp MyStack:

    • Phương thức \(push(int o)\): thêm một phần tử vào ngăn xếp.
    • Phương thức \(pop()\): xóa một phần tử khỏi ngăn xếp và trả về phần tử đó.
    • Phương thức \(isEmpty()\): kiểm tra ngăn xếp có rỗng không.
    • Phương thức \(getSize()\): trả về số phần tử trong ngăn xếp.
    • Phương thức \(getFront()\): trả về phần tử ở đỉnh ngăn xếp nhưng không xóa nó.
  • Lưu ý kiểm tra các logic như xóa phần tử khỏi ngăn xếp khi ngăn xếp rỗng, thêm phần tử vào ngăn xếp khi ngăn xếp đã đầy, ...

INPUT FORMAT

  • Dòng đầu tiên nhập số nguyên \(capacity\) (1 ≤ capacity ≤ 1000) - dung lượng của ngăn xếp.
  • Gồm nhiều dòng, kết thúc bằng dòng chứa số -1.
  • Mỗi dòng chứa một trong các lệnh sau:
    • \(push x\): thêm phần tử x vào ngăn xếp.
    • \(pop\): xóa phần tử ở đầu ngăn xếp.
    • \(isEmpty\): kiểm tra ngăn xếp có rỗng không.
    • \(getSize\): trả về số phần tử trong ngăn xếp.
    • \(getFront\): trả về phần tử ở đầu ngăn xếp nhưng không xóa nó.

OUTPUT FORMAT

  • Với mỗi lệnh \(isEmpty\), \(getSize\), \(getFront\), in ra kết quả tương ứng trên một dòng.

Ví dụ:

Input
10
push 1
push 2
push 3
pop
getSize
isEmpty
push 4
getFront
Output
2
false
4


Lời giải bài tập này: Tại đây

Group giải đáp thắc mắc: Lập trình 24h

Fanpage CLB: CLB lập trình Full House- Việt Nam

Youtube: CLB Lập Trình Full House


Comments

There are no comments at the moment.

Zalo