Câu hỏi:

28/09/2024 38

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.

Media VietJack

Sách mới 2k7: Bộ 20 đề minh họa Toán, Lí, Hóa, Văn, Sử, Địa…. form chuẩn 2025 của Bộ giáo dục (chỉ từ 110k).

20 đề Toán 20 đề Văn Các môn khác

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

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.

 

 Media VietJack

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).

Xem đáp án » 28/09/2024 88

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.

Xem đáp án » 28/09/2024 79

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”

Xem đáp án » 28/09/2024 75

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?

Xem đáp án » 28/09/2024 65

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?

Media VietJack

Xem đáp án » 28/09/2024 60

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ì?

Xem đáp án » 28/09/2024 52

Câu 7:

Với hàng đợi ở Hình 5, hãy vẽ hình khi thực hiện liên tục các thao tác: thêm vào 0, lấy ra, lấy ra

Xem đáp án » 28/09/2024 50

Bình luận


Bình luận