Classe coda, usa list

La classe Queue utilizza una lista

class Queue:
    def __init__(self):   
        self._lista=[]
    def enqueue(self, x): 
        self._lista.insert(0, x)
    def dequeue(self):    
        return self._lista.pop()
    def is_empty(self):   
        return (len(self._lista) == 0)

Test 1

class Queue:
    ...
 
coda=Queue()            # []
 
coda.enqueue(18)        # [18] 
coda.enqueue(1)         # [1, 18] 
coda.enqueue(28)        # [28, 1, 18]
 
print(coda.is_empty())  #             False
print(coda.dequeue())   # [28, 1]     18
 
print(coda.is_empty())  #             False
print(coda.dequeue())   # [28]        1
 
print(coda.is_empty())  #             False
print(coda.dequeue())   # []          28
 
print(coda.is_empty())  #             True

Test 2

class Queue:
    ...
  
coda = Queue()                      # []
 
for x in range(5):                 
    coda.enqueue(x)
print(coda._lista)                  # [4, 3, 2, 1, 0]
 
while(not coda.is_empty()): 
    print(coda.dequeue(), end=" ")  # 0 1 2 3 4
print()
print(coda._lista)                  # []

Continua…

Aggiungi i metodi

  • x <– top(), il primo elemento inserito?
  • x <– bottom(), l’ultimo elemento inserito?
  • n <– size(), quanti elementi contiene la coda?
  • …