Câu hỏi:

28/09/2024 76

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

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

Bình luận


Bình luận

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

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 298

Câu 2:

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 145

Câu 3:

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 139

Câu 4:

Theo em, có cách nào kiểm tra hàng đợi queue là rỗng mà không dùng hàm len (queue)?

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

Câu 5:

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 129

Câu 6:

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 116

Câu 7:

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 97
Vietjack official store
Đăng ký gói thi VIP

VIP +1 - Luyện thi tất cả các đề có trên Website trong 1 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay

VIP +3 - Luyện thi tất cả các đề có trên Website trong 3 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay

VIP +6 - Luyện thi tất cả các đề có trên Website trong 6 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay

VIP +12 - Luyện thi tất cả các đề có trên Website trong 12 tháng

  • Hơn 100K đề thi thử, đề minh hoạ, chính thức các năm
  • Với 2tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
  • Tải xuống đề thi [DOCX] với đầy đủ đáp án
  • Xem bài giảng đính kèm củng cố thêm kiến thức
  • Bao gồm tất cả các bậc từ Tiểu học đến Đại học
  • Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện

Mua ngay