Tạo tệp queue py chứa các hàm enqueue(), dequeue(), front(), rear(), isEmptyQueue() của hàng đợi
Tạo tệp queue py chứa các hàm enqueue(), dequeue(), front(), rear(), isEmptyQueue() của hàng đợi. Sau đó:
Giải Chuyên đề Tin 12 Bài 1.1: Hàng đợi - Chân trời sáng tạo
Vận dụng 3 trang 9 Chuyên đề Tin học 12: Tạ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.
Lời giả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.
Lời giải bài tập Chuyên đề Tin 12 Bài 1.1: Hàng đợi hay, chi tiết khác: