Exercicio de algoritmos e estruturas de dado

Você deseja implementar a operação de ctrl-z no seu sistema. Qual a estrutura necessária para
tal funcionalidade? Por que? Implemente as operações de inserção e remoção. Use uma
abordagem dinâmica.

juro que não entendi nada,tentei e fiquei mais confuso. é para implementar uma pilha? alguém poderia me dar um norte?

Considerando que você quer desfazer algumas ações de acordo com a ordem em que elas foram realizadas, da última para a primeira, sim, uma pilha.

@Xablau, a operação de CTRL-Z desfaz alterações anteriores. Considere que um bloco X da memória salve todas as alterações realizadas num arquivo .TXT. Ora, a operação de desfazer/restaurar um estado anterior (CTRL-Z) é na verdade um desempilhamento de um item neste bloco X. Perceba que você deve remover um item dessa pilha de elementos ao executar algo como CTRL + Z. E se realizar alguma operação, deverá inserir um item após a última posição deste bloco X de itens.

Como se trata de uma pilha, o último elemento inserido representa analogicamente o último estado do seu arquivo TXT.

Em Estrutura de Dados, uma pilha é uma operação em que as remoções e inserções são feitas no topo, ou seja, no último elemento da pilha, compreende tal lógica?

Dada uma lista N de n elementos, você irá remover um item da posição n de N. Logo, o seu último elemento agora deverá estar na posição n-1 considerando a sua pilha de tamanho ‘n’ inicial. Para inserir, você o colocará na posição n + 1. Basicamente essa, é a lógica da estrutura de dados do tipo Pilha.

Recomendo fortemente para implementação dessa estrutura, o tópico neste link : https://www.ime.usp.br/~pf/algoritmos/aulas/pilha.html

Bons estudos!

1 curtida

verei sim, vlw