Câu hỏi:
28/09/2024 30Tạo tệp queue py chứa các hàm enqueue(), dequeue(), front(), rear(), isEmptyQueue() của hàng đợi. Sau đó:
- Khởi tạo hàng đọi rồng han trởi sáng tạo
- Thực hiện các hàm enqueue() với giá trị thích hợp để hàng đợi có kết quả như Hình 6a.
- Thực hiện các hàm enqueue(), dequeue() với các giá trị thích hợp để hàng đợi có kết quả như Hình 6b.
Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
Quảng cáo
Trả lời:
1. Tạo tệp queue py chứa các hàm enqueue(), dequeue(), front(), rear(), isEmptyQueue() của hàng đợi.
# queue.py
class Queue:
def __init__(self):
self.items = []
def isEmptyQueue(self):
return self.items == []
def enqueue(self, item):
self.items.append(item)
def dequeue(self):
if not self.isEmptyQueue():
return self.items.pop(0)
else:
raise Exception("Queue is empty")
def front(self):
if not self.isEmptyQueue():
return self.items[0]
else:
raise Exception("Queue is empty")
def rear(self):
if not self.isEmptyQueue():
return self.items[-1]
else:
raise Exception("Queue is empty")
2. Khởi tạo hàng đợi rỗng.
- Khởi tạo hàng đợi rỗng.
3. Thực hiện các hàm enqueue() với giá trị thích hợp để hàng đợi có kết quả như Hình 6a.
- Thực hiện các hàm enqueue() để thêm các giá trị thích hợp.
4. Thực hiện các hàm enqueue(), dequeue() với các giá trị thích hợp để hàng đợi có kết quả như Hình 6b.
- Tiếp tục sử dụng các hàm enqueue() và dequeue() để thêm và lấy ra các giá trị thích hợp.
Code như sâu:
# Sử dụng tệp queue.py để thực hiện yêu cầu
from queue import Queue
# Khởi tạo hàng đợi
q = Queue()
# Thực hiện các hàm enqueue để có kết quả như Hình 6a
q.enqueue(30)
q.enqueue(20)
q.enqueue(10)
q.enqueue(50)
q.enqueue(40)
q.enqueue(60)
print("Hình 6a:")
print("|", end=" ")
for i in range(6):
print(q.items[i], end=" | ")
print()
# Thực hiện thêm và lấy ra các phần tử để có kết quả như Hình 6b
q.enqueue(0)
q.enqueue(80)
q.enqueue(70)
q.dequeue()
q.dequeue()
q.enqueue(90)
q.enqueue(100)
print("Hình 6b:")
print("|", end=" ")
for item in q.items:
print(item, end=" | ")
print()
Kết quả khi chạy mã trên sẽ là:
Hình 6a:
| 30 | 20 | 10 | 50 | 40 | 60 |
Hình 6b:
| 10 | 50 | 40 | 60 | 0 | 80 | 70 | 30 | 90 | 100 |
Trong đó: Hàng đợi ban đầu (Hình 6a) được thêm từng phần tử theo thứ tự. Hàng đợi sau khi thực hiện các phép enqueue và dequeue (Hình 6b) đạt được kết quả yêu cầu.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Cho hàng đợi rỗng, hãy vẽ hình minh hoạ từng bước thực hiện các thao tác sau: enqueue (1), enqueue (3), enqueue (5), dequeue (), dequeue (), enqueue (7).
Câu 2:
Trong Python, khi sử dụng kiểu list để biểu diễn hàng đợi. Hãy cho biết:
a) Chỉ số của phần tử đầu.
b) Chỉ số của phần tử cuối.
Câu 3:
Các phần tử trong hàng đợi biểu diễn bằng kiểu list trong Python có thể thuộc kiểu chuỗi hay không? Nếu có, sử dụng các hàm initQueue(), enqueue() để tạo hàng đợi có các phần tử như sau:
“Một” |
“Hai” |
“Ba” |
“Bốn” |
Sau đó sử dụng các hàm enqueue(), dequeue() để hang đợi có kết quả là:
“Bốn” |
“Ba” |
“Hai” |
“Một” |
“Không” |
Câu 4:
Theo em, có thể dùng danh sách liên kết để biểu diễn hàng đợi hay không?
Câu 5:
Cho Hình 4, biểu diễn một hàng đợi, hãy cho biết:
a) Phần tử đầu hàng đợi, phần tử cuối hàng đợi.
b) Sau khi lấy ra một phần tử, thì phần tử đầu hàng đợi là phần tử nào?
c) Sau khi thêm vào phần tử k vào thì phần tử cuối hàng đợi là phần tử nào?
Câu 6:
Các thông tin cần thiết để biểu diễn hàng đợi bằng mảng 1 chiều là gì?
Câu 7:
về câu hỏi!