Java Bài 10.16: Hàng đợi
Submit solution
Points:
10 (partial)
Time limit:
1.0s
Memory limit:
125M
Author:
Problem type
Allowed languages
Java
Xây dựng lớp MyQueue.
Các thuộc tính cần có trong lớp MyQueue:
- \(element:\) Object[] - mảng chứa các phần tử của hàng đợi.
- \(size:\) int - số phần tử trong hàng đợi.
- \(capacity:\) int - dung lượng của hàng đợi. Nếu số phần tử trong hàng đợi vượt quá dung lượng, không thể thêm phần tử mới vào hàng đợi. Ở bài toán này, mặc định capacity = 5.
- \(front:\) int - chỉ số của phần tử ở đầu hàng đợi.
Các phương thức cần có trong lớp MyQueue:
- Phương thức \(enqueue(int o):\) thêm một phần tử vào hàng đợi.
- Phương thức \(dequeue():\) xóa một phần tử khỏi hàng đợi và trả về phần tử đó.
- Phương thức \(isEmpty():\) kiểm tra hàng đợi có rỗng không.
- Phương thức \(getSize():\) trả về số phần tử trong hàng đợi.
- Phương thức \(getFront():\) trả về phần tử ở đầu hàng đợi nhưng không xóa nó.
Lưu ý kiểm tra các logic như xóa phần tử khỏi hàng đợi khi hàng đợi rỗng, thêm phần tử vào hàng đợi khi hàng đợi đã đầy, ...
INPUT FORMAT
- 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:
- \(enqueue x\): thêm phần tử x vào hàng đợi.
- \(dequeue\): xóa phần tử ở đầu hàng đợi.
- \(isEmpty\): kiểm tra hàng đợi có rỗng không.
- \(getSize\): trả về số phần tử trong hàng đợi.
- \(getFront\): trả về phần tử ở đầu hàng đợi 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
enqueue 1
enqueue 2
enqueue 3
dequeue
getSize
isEmpty
enqueue 4
getFront
-1
Output
2
false
2
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