Python - Coda

Abbiamo familiarità con la coda nella nostra vita quotidiana mentre aspettiamo un servizio. La struttura dei dati della coda significa anche lo stesso in cui gli elementi dei dati sono disposti in una coda. L'unicità della coda risiede nel modo in cui gli elementi vengono aggiunti e rimossi. Gli elementi sono consentiti all'estremità ma rimossi dall'altra estremità. Quindi è un metodo First-in-First out. Una coda può essere implementata usando python list dove possiamo usare i metodi insert () e pop () per aggiungere e rimuovere elementi. Non si tratta di inserimento poiché gli elementi di dati vengono sempre aggiunti alla fine della coda.

Aggiunta di elementi a una coda

Nell'esempio seguente creiamo una classe di coda in cui implementiamo il metodo First-in-First-Out. Usiamo il metodo di inserimento integrato per aggiungere elementi di dati.

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

Quando il codice sopra viene eseguito, produce il seguente risultato:

3

Rimozione di un elemento da una coda

Nell'esempio seguente creiamo una classe di coda in cui inseriamo i dati e quindi rimuoviamo i dati utilizzando il metodo pop integrato.

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

Quando il codice sopra viene eseguito, produce il seguente risultato:

Mon
Tue