AJUDA pilha e fila

1 resposta
M

Alguem sabe como q faz ?
Implementar uma pilha com duas filas.
Implementar uma fila com duas pilhas.

1 Resposta

S

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/

Criado 13 de maio de 2016
Ultima resposta 14 de mai. de 2016
Respostas 1
Participantes 2