Alguem sabe como q faz ?
Implementar uma pilha com duas filas.
Implementar uma fila com duas pilhas.
AJUDA pilha e fila
1 Resposta
Só posso ajudar conceitualmente, já que não seria muito “elegante” passar
algum código prontinho, deixando você sem nunca tentar.
Na pilha usando duas filas:
Inserção: insere normalmente usando uma das filas e somente ela.
Remoção: remove todos de uma fila, exceto o último, e insere na outra fila.
Exemplo:
Suponha que F1 e F2 sejam as filas.
Ao inserirmos cinco elementos A, B, C, D e E, nessa ordem, o estado delas deverá ser:
F1 = [ E D C B A ]
F2 = [ ]
Perceba a lógica de encher uma para retirar da outra.
Ao removermos o topo da pilha, que tem de ser o E, já que na pilha o primeiro a entrar é o último a sair, teremos que remover A, B, C, D de F1 e inserir em F2, na mesma ordem. Assim o estado delas deverá ser:
F1 = [ E ]
F2 = [ D C B A ]
O mesmo se desejarmos remover o novo topo, que deverá ser D:
F1 = [ C B A ]
F2 = [ D ]
Na fila usando duas pilhas:
Se você conseguiu captar a ideia básica (“esvaziar” uma e “encher” a outra), verá que esse caso é semelhante ao outro. Pense aí!
Qualquer coisa pergunte que tentarei explicar.
o/