Código:
#include <iostream.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define NULL 0 // //Programa que carga los nodos de un �rbol binario en memoria. struct treenodo { struct treenodo *izqptr; //puntero al nodo izquierdo char dato[40]; //dato del nodo struct treenodo *derptr; // puntero al nodo derecho }; void crear(treenodo *nodo){ //crea un �arbol binario char resp[1]; clrscr(); cout<< "Entre el dato "; gets (nodo->dato); cout <<"Hay nodos a la Izquierda entre S/N "; gets(resp); if (strcmp(resp, "S")== 0) { nodo->izqptr= new (treenodo); crear(nodo->izqptr); } else nodo->izqptr=NULL; cout <<"Hay nodos a la Derecha entre S/N "; gets(resp); if (strcmp(resp, "S")== 0) { nodo->derptr= new (treenodo); crear(nodo->derptr); } else nodo->derptr=NULL; return; } //Recorrido en Pre-Orden void preorden(treenodo *nodo){ if (nodo != NULL) { printf("%c", nodo->dato); //Realiza una operación en nodo preorden(nodo->izqptr); preorden(nodo->derptr); } } void main(int){ treenodo *nodo; // puntero al nodo nodo= new treenodo; crear(nodo); preorden(nodo); getch(); }