Estruturas de dados com operações associadas que definem um...
As classes EstruturaDados1 e EstruturaDados2 representam, respectivamente:
Comentários
Veja os comentários dos nossos alunos
Para mim gabarito errado. Opção correta a) Pilha e Fila.
Função "desfaz" remove o último elementro inserido. Caracteristica LIFO.
Função "recolhe" remove o primeiro elemento inserido. Caracterista FIFO.
Alternativa A: Pilha e Fila.
Explicação:
EstruturaDados1:
A classe EstruturaDados1 possui métodos que implementam o comportamento de uma pilha (stack).
No método agrega, o elemento é adicionado ao final da lista self.dados, que corresponde à operação de push em uma pilha.
No método desfaz, o elemento é removido do final da lista self.dados, que corresponde à operação de pop em uma pilha. A remoção é feita usando self.dados.pop(-1), que remove o último elemento da lista.
EstruturaDados2:
A classe EstruturaDados2 possui métodos que implementam o comportamento de uma fila (queue).
No método anexa, o elemento é adicionado ao final da lista self.dados, que corresponde à operação de enqueue em uma fila.
No método recolhe, o elemento é removido do início da lista self.dados, que corresponde à operação de dequeue em uma fila. A remoção é feita usando self.dados.pop(0), que remove o primeiro elemento da lista.
#Pilha - veja que o ultimo elemento é o primeiro a ser retirado
fruits = ['apple', 'banana', 'cherry']
fruits.append('mango')
fruits.pop(-1)
print(fruits)
#Fila - veja que o primero elemento é o primeiro a ser retirado
fruits = ['apple', 'banana', 'cherry']
fruits.append('mango')
fruits.pop(0)
print(fruits)
Na EstruturaDados1, o último elemento que entra é o primeiro que sai.
dados = ['a', 'b', 'c']
dados.append('e')
print(dados)
dados.pop(-1)
print(dados)
OUTPUT:
['a', 'b', 'c', 'e']
['a', 'b', 'c']
Em EstruturaDados2, o primeiro que entra é o primeiro que sai:
dados = ['a', 'b', 'c']
dados.append('e')
print(dados)
dados.pop(0)
print(dados)
OUTPUT:
['a', 'b', 'c', 'e']
['b', 'c', 'e']
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo