Commit 870cf896 by Alan de Oliveira

Corrigindo Exercicio5

parent 46840fc0
......@@ -84,42 +84,45 @@ class Pilha {
template <class T> Fila<T> inverterFila(Fila<T> fila) {
Fila<T> filaAux;
while (fila.frente() != -1) {
filaAux.enfilera(fila.desenfilera());
Fila<T> filaAux, filaInvertida;
T ultimo;
bool fim = false;
while (!fim) {
while (fila.frente() != -1) {
ultimo = fila.frente();
filaAux.enfilera(fila.desenfilera());
}
filaInvertida.enfilera(ultimo);
while (filaAux.frente() != -1 && filaAux.frente() != ultimo) {
fila.enfilera(filaAux.desenfilera());
}
filaAux.desenfilera();
if (fila.frente() == -1)
fim = true;
}
return filaAux;
return filaInvertida;
}
template <class T> Fila<T> inverterFilaComPilha(Fila<T> fila) {
template <class T> Pilha<T> inverterFilaComPilha(Fila<T> fila) {
Pilha<T> pilha;
while (fila.frente() != -1) {
pilha.empilha(fila.desenfilera());
}
printarPilha(pilha, "Fila invertida com Pilha");
//printarPilha(pilha, "Fila invertida com Pilha");
return fila;
}
template <class T> Pilha<T> inverterPilhaComDuasPilhas(Pilha<T> pilha) {
return pilha;
}
Pilha<T> pilhaAux, pilhaAux2;
while (pilha.topo() != -1) {
pilhaAux.empilha(pilha.desempilha());
}
while (pilhaAux.topo() != -1) {
pilhaAux2.empilha(pilhaAux.desempilha());
}
while (pilhaAux2.topo() != -1) {
pilhaAux.empilha(pilhaAux2.desempilha());
}
return pilhaAux;
}
void preencherFila(Fila<char> &fila) {
......@@ -182,16 +185,8 @@ int main(int argc, char* argv[]) {
printarFila(fila, "Fila invertida com outra fila ???");
preencherFila(fila);
inverterFilaComPilha(fila);
//printarFila(fila, "Fila invertida com Pilha");
/*
reencherFila(fila);
pilha = inverterPilhaComFila(pilha);
printarFila(fila, "Fila normal");
reencherFila(fila);
pilha = inverterPilhaComDuasPilhas(pilha);
printarFila(fila, "Fila normal");*/
Pilha<char> pilha = inverterFilaComPilha(fila);
printarPilha(pilha, "Fila invertida com Pilha");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment