Hãy cài đặt một stack số nguyên dựa trên mảng động, mỗi khi đầy thì gấp đôi dung lượng bằng realloc. Hỗ trợ q thao tác:
PUSH x — đẩy x vào đỉnh.POP — lấy ra và in giá trị đỉnh; nếu rỗng in EMPTY.TOP — in giá trị đỉnh (không lấy ra); nếu rỗng in EMPTY.SIZE — in số phần tử hiện có.Khởi tạo dung lượng = 2. Cuối chương trình free mảng nội bộ.
Dòng 1: q. q dòng tiếp theo, mỗi dòng là một thao tác trong số PUSH x, POP, TOP, SIZE.
1≤q≤105, ∣x∣≤109.
Với mỗi POP, TOP, SIZE in kết quả trên một dòng.
Ví dụ:
Đầu vào:
8
PUSH 10
PUSH 20
PUSH 30
TOP
POP
SIZE
POP
POP
Đầu ra:
30
30
2
20
10
Giải thích:
Đang tải editor...