quinta-feira, 13 de setembro de 2007

Desafio

/*
Para quem não lembra do exercício é pegar os dados apresentados em forma de pós ordem e passar para hierárquica.
Criei um novo main para o desafio, a intenção é lançar os dados numa lista encadeada e repassa-los do final para o inicio da lista montando assim a arvore, ou seja, os valores são 20, 35, 45, 40, 30, 55, 60, 90, 70, 50 e inserindo os dados de trais pra frente é possível recuperar a arvore(imagem a baixo) , depois é só usar os métodos já existentes.

Estou usando os mesmo valores das postagens anteriores para melhor compreensão.
Então mãos a obra
*/

#include
#include
#include "btree.h"
#include "fila.h"
#include

using namespace std;

int main(){

btree a1;
fila fila1;
//Inserindo os dados em pós ordem
fila1.push_final(20);
fila1.push_final(35);
fila1.push_final(45);
fila1.push_final(40);
fila1.push_final(30);
fila1.push_final(55);
fila1.push_final(60);
fila1.push_final(90);
fila1.push_final(70);
fila1.push_final(50);

int x=0;
while (x!= -999){// esse trecho percorre toda a arvore
x=fila1.pop_final();//a variável "x" recebe o ultimo valor da lista
if (x!= -999)//se o x for diferente de -999 (lista vazia)
{
a1.push(x);//o valor de x é inserido na arvore
}// fecha o if
}
// fecha o while
cout << "\n\n" <<"Hierarquica I" << endl;
a1.hierarquica1(); //executa o método hierarquica1 para a arvore atual
cout << "\n" <<"Hierarquica II" << endl;
a1.hierarquica2();//e o
hierarquica2
// PAUSE NO PRGRAMA
system("PAUSE");
return 0;
}

Nenhum comentário: