Remoção de Elementos
Estrutura de Dados: Fila
Seguindo a lógica de funcionamento apresentada discutida na inserção da filas, daremos continuidade comentando sobre as remoções, que devem acontecer no começo da estrutura (principal diferencial entre as pilhas).
Não é possível remover elementos no meio da fila. Se isso for necessário, é necessário remover os elementos anteriores ao elemento que desejamos remover. Se isso for feito sem a remoção dos anteriores, você terá implementada qualquer outra coisa, mas não será uma pilha.
Remoção Padrão
Em código, para remover um elemento da pilha devemos retirá-lo do topo sempre. Para isto, criaremos uma função denominada remover que não tem parâmetro, pois ele deve sempre liberar o primeiro elemento da fila que representa o elemento que está armazenado na posição 0.
class Fila:
def __init__(self, cabeca=None, cauda=None):
self.cabeca = cabeca
self.cauda = cauda
def is_empty(self):
return self.cabeca is None
def __repr__(self):
return "[" + str(self.cabeca) + "]"
def inserir(self, elemento):
novo_no = No(elemento)
if self.cabeca == None:
self.cabeca = self.cauda = novo_no
else:
self.cauda.proximo = novo_no
self.cauda = novo_no
def remover(self):
assert self.cabeca != None, "Impossível remover elemento de fila vazia."
self.cabeca = self.cabeca.proximo
if self.cabeca == None:
self.cauda = NoneComo testar agora?
Last updated
Was this helpful?