Ban đầu, hàng đợi là rỗng. Em hãy cho biết giá trị của phần tử ở đầu (front) và đuôi (rear) sau khi thực hiện tuần tự các phép toán enqueue(Q,2); enqueue(Q,19); dequeue(Q), enaqueue (Q, 6); dequeue(Q); enqueue(Q, 9); enqueue(Q,1).
Quảng cáo
1 câu trả lời 120
Để xác định giá trị của phần tử ở đầu (front) và đuôi (rear) sau khi thực hiện tuần tự các phép toán trên hàng đợi (queue), ta sẽ theo dõi từng phép toán một cách chi tiết. Giả sử hàng đợi ban đầu có dung lượng đủ lớn để chứa tất cả các phần tử được thêm vào mà không cần phải xử lý trường hợp tràn (overflow).
Ban đầu, hàng đợi là rỗng:
front = 0
rear = -1
size = 0
Các bước thực hiện tuần tự các phép toán như sau:
1. enqueue(Q, 2)
Thêm 2 vào cuối hàng đợi.
rear tăng lên 0.
size tăng lên 1.
queue = [2]
front = 0
rear = 0
2. enqueue(Q, 19)
Thêm 19 vào cuối hàng đợi.
rear tăng lên 1.
size tăng lên 2.
queue = [2, 19]
front = 0
rear = 1
3. dequeue(Q)
Lấy 2 ra từ đầu hàng đợi.
front tăng lên 1.
size giảm xuống 1.
queue = [2, 19] (phần tử tại front không còn được sử dụng)
front = 1
rear = 1
4. enqueue(Q, 6)
Thêm 6 vào cuối hàng đợi.
rear tăng lên 2.
size tăng lên 2.
queue = [2, 19, 6]
front = 1
rear = 2
5. dequeue(Q)
Lấy 19 ra từ đầu hàng đợi.
front tăng lên 2.
size giảm xuống 1.
queue = [2, 19, 6] (phần tử tại front không còn được sử dụng)
front = 2
rear = 2
6. enqueue(Q, 9)
Thêm 9 vào cuối hàng đợi.
rear tăng lên 3.
size tăng lên 2.
queue = [2, 19, 6, 9]
front = 2
rear = 3
7. enqueue(Q, 1)
Thêm 1 vào cuối hàng đợi.
rear tăng lên 4.
size tăng lên 3.
queue = [2, 19, 6, 9, 1]
front = 2
rear = 4
- Sau khi thực hiện tuần tự các phép toán, trạng thái của hàng đợi sẽ như sau:
queue = [2, 19, 6, 9, 1]
front = 2 (phần tử ở đầu hàng đợi là 6)
rear = 4 (phần tử ở cuối hàng đợi là 1)
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
149615 -
Đã trả lời bởi chuyên gia
99992 -
Đã trả lời bởi chuyên gia
97600 -
Đã trả lời bởi chuyên gia
80297 -
Đã trả lời bởi chuyên gia
73088 -
Đã trả lời bởi chuyên gia
56178 -
Đã trả lời bởi chuyên gia
55554
