Revista Ejercicios de Grafos Revista | Page 9
EJERCICIO 7
Continuación:
#include ˂stdio.h˃
#include ˂conio.h˃
#include ˂stdlib.h˃
#include ˂string.h˃
char *postorden;
char *inorden=”IABEGLDCFMKHJ”;
char *preorden=”GEAIBMCLDFKJH”;
void post(char *pre, char *in, char *posto, int n)
{
Int longizq;
If(n!=0)
{
Posto[n-1]=pre[0]:
Longizq=strchr(in,pre[0])-in;
Post(pre+1, in, posto, longizq);
Post(pre+1+longizq, in+1+longizq,posto+longizq,n-1-longizq)
}
}
int main(int arg, char *argv[])
{
Int aux;
aux=strlen(preorden);
postorden=(char*)malloc(aux*sizeof(char));
if (postorden)
{
Printf(“El recorrido en preorden es: %s\n”, preorden);
Printf(“El recorr ido en inorden es: %s\n”, inorden);
Post(preorden, inorden, postorden, aux);
Postorden[aux]=’\0’;
Printf(“El recorrido en postorden es:%s\n”,postorden);
Free(postorden);
}
Else
{
Fprintf(stderr, “Error: no hay memoria\n”);
Return 1;
}
Return 0;
PAGINA 7