Python - Hàng đợi

Chúng ta đã quen với việc xếp hàng trong cuộc sống hàng ngày khi chờ đợi một dịch vụ. Cấu trúc dữ liệu hàng đợi aslo có nghĩa là giống nhau khi các phần tử dữ liệu được sắp xếp trong một hàng đợi. Tính độc đáo của hàng đợi nằm ở cách các mục được thêm vào và loại bỏ. Các mục được phép ở cuối nhưng bị loại bỏ ở đầu kia. Vì vậy, nó là một phương pháp xuất trước. Một hàng đợi có thể được thực hiện bằng cách sử dụng danh sách python nơi chúng ta có thể sử dụng các phương thức insert () và pop () để thêm và xóa các phần tử. Chúng không phải là chèn vì các phần tử dữ liệu luôn được thêm vào cuối hàng đợi.

Thêm phần tử vào hàng đợi

Trong ví dụ dưới đây, chúng tôi tạo một lớp hàng đợi, nơi chúng tôi triển khai phương thức First-in-First-Out. Chúng tôi sử dụng phương pháp chèn sẵn để thêm các phần tử dữ liệu.

class Queue:

  def __init__(self):
      self.queue = list()

  def addtoq(self,dataval):
# Insert method to add element
      if dataval not in self.queue:
          self.queue.insert(0,dataval)
          return True
      return False

  def size(self):
      return len(self.queue)

TheQueue = Queue()
TheQueue.addtoq("Mon")
TheQueue.addtoq("Tue")
TheQueue.addtoq("Wed")
print(TheQueue.size())

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

3

Xóa phần tử khỏi hàng đợi

Trong ví dụ dưới đây, chúng tôi tạo một lớp hàng đợi, nơi chúng tôi chèn dữ liệu và sau đó xóa dữ liệu bằng phương thức bật sẵn có.

.
class Queue:

  def __init__(self):
      self.queue = list()

  def addtoq(self,dataval):
# Insert method to add element
      if dataval not in self.queue:
          self.queue.insert(0,dataval)
          return True
      return False
# Pop method to remove element
  def removefromq(self):
      if len(self.queue)>0:
          return self.queue.pop()
      return ("No elements in Queue!")

TheQueue = Queue()
TheQueue.addtoq("Mon")
TheQueue.addtoq("Tue")
TheQueue.addtoq("Wed")
print(TheQueue.removefromq())
print(TheQueue.removefromq())

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau:

Mon
Tue