Ayuda Practica c++

Fxbrandon
11 de Abril del 2006
Buenas!!!! Estoy haciendo la Carrera de Informatica y necesito una practica muy jodida de C++ sobre representacion de expresiones en arboles binarios. Es una practica de una calculadora polaca inversa y la verdad es que esta muy jodido el tema pk se ha de implementarr con memoria dinamica y calses como token,expresion,variables... Teneis alguna practica similar para hacer esto???? Gracias peña!!!

Ignacio
11 de Abril del 2006
Pues me parece......QUE LA HAS CAGA'O.

Jorge
11 de Abril del 2006
Asumo que no has trabajado nunca con estructuras de datos como listas, arboles, etc...

te recomiendo que primero aprendas a trabajar con listas dinàmicas y luego te metes a trabajar con arboles...

aquì te ayudo con algo...

para crear un nodo dinamico:

struct nodo{
/* el dato que yo quiera en cada nodo */
struct nodo *izq;
struct nodo *der;
};


las hojas mas distantes en el arbol llevan NULL en izq y der.

raiz es un puntero de tipoNodo que tiene el primer elemento del arbol apuntado...

para instanciar un nodo.

struct nodo *aux = new struct nodo;
aux->dato = lo que yo quiera.....
si yo prengunto si aux == NULL significa que no hay memoria....

para borrar un nodo
- lo apunto con otro puntero
utilizo delete ptr; o free(ptr);

trabaja con cadenas y funciones para generar tokens porque quieres dividir la expresion.

existen 3 metodos para introducirla: inorden, preorden, postorden.

para preorden:
void preorden(struct nodo *tmp){
if(tmp != NULL){
mostrar(tmp->dato);
preorden(tmp->izq);
preorden(tmp->der);
}
}

para postorden, mostrar va al final

en inorden, mostrar va en medio....

en este site podràs encontrar bastante codigo de asignacion dinamica....

jorge
11 de Abril del 2006
me equivoque en lo de preorden,postorden e inorden...
esas funciones son para recorrer el arbol....

arcAngel
11 de Abril del 2006
Azzzzzzz.. pennnnnsado en cambiar d carreraaaa.............

Alejandro_
11 de Abril del 2006
Azzzzzz pensado en estudiar???