Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình triển khai Queue (hàng đợi) trong Python


Khi cần triển khai một hàng đợi (queue) bằng Python, ta tạo một lớp queue và định nghĩa các phương thức thêm và xóa phần tử. Một thể hiện của lớp được tạo và các phương thức này được gọi thông qua thể hiện đó để hiển thị kết quả.

Ví dụ

class Queue_struct:
    def __init__(self):
        self.items = []

    def check_empty(self):
        return self.items == []

    def enqueue_elem(self, data):
        self.items.append(data)

    def dequeue_elem(self):
        return self.items.pop(0)

my_instance = Queue_struct()

while True:
    print('Enqueue ')
    print('Dequeue')
    print('Quit')
    my_input = input('Thao tác bạn muốn thực hiện? ').split()
    operation = my_input[0].strip().lower()
    if operation == 'enqueue':
        my_instance.enqueue_elem(int(my_input[1]))
    elif operation == 'dequeue':
        if my_instance.check_empty():
            print('Hàng đợi rỗng...')
        else:
            print('Giá trị đã xóa:', my_instance.dequeue_elem())
    elif operation == 'quit':
        break

Kết quả

Enqueue 
Dequeue
Quit
Thao tác bạn muốn thực hiện? Enqueue 45
Enqueue 
Dequeue
Quit
Thao tác bạn muốn thực hiện? Enqueue 56
Enqueue 
Dequeue
Quit
Thao tác bạn muốn thực hiện? Enqueue 89
Enqueue 
Dequeue
Quit
Thao tác bạn muốn thực hiện? Dequeue
Enqueue 
Dequeue
Quit
Thao tác bạn muốn thực hiện? Dequeue
Enqueue 
Dequeue
Quit
Thao tác bạn muốn thực hiện? Quit

Giải thích

  • Lớp Queue_struct với các thuộc tính cần thiết được tạo.

  • Phương thức __init__ khởi tạo danh sách rỗng.

  • Phương thức check_empty kiểm tra danh sách rỗng.

  • Phương thức enqueue_elem thêm phần tử vào danh sách.

  • Phương thức dequeue_elem xóa phần tử khỏi danh sách.

  • Một đối tượng của lớp Queue_struct được tạo.

  • Nhập lựa chọn thao tác từ người dùng.

  • Thực hiện thao tác tương ứng.

  • Hiển thị kết quả ra bảng điều khiển.