Red de conocimiento informático - Conocimientos de programación - Recorrido de programación

Recorrido de programación

# incluir ltstdio.h gt

# incluir ltstdlib.h gt

# incluir ltmalloc.h gt

#Definición ¿OK? 1

#¿Error de definición? 0

#¿Definir desbordamiento? 0

typedef char TElemType

typedef int status;

nodo de bits de estructura typedef

{

datos de telemetría ;

struct BiTNode *lchild, *rchild

}BiTNode, *BiTree

typedef enum {Enlace, Hilo} PointerTag

typedef estructura BiThrNode

{

Datos de telemetría;

estructura BiThrNode *lchild, *rchild

Etiqueta de puntero LTag, RTag

} BiThrNode

typedef BiThrNode * BiThrTree

BiTree CreateBiTree(BiTree T)? //El recorrido de primer orden construye un árbol binario

{

char ch

scanf("c ", ampch);

si(ch =='# ')? //# representa un puntero nulo.

T = NULL

Otro

{

t =(nodo de bits *)malloc(tamaño de(nodo de bits));? //nodo de aplicación

if (!t)

salir(overflow);

t->data = ch? //Generar nodo raíz

t->;l child = crear bitree(T- gt;l child);? //Construir el subárbol izquierdo

t->;rchild = create bitree(T- gt;rchild);? //Construye el subárbol de la derecha

}

return T;

}

Status InOrderTraverse(BiTree T, Status(* visit )(teletipo))

{//Recorrido en orden de un árbol binario

If (T)

{

if(en orden atravesar(T- gt; lchild, acceso))

if (acceso(T- gt; datos))

if (en orden atravesar(T- gt; niño, acceso) )

Regresar OK;

Regresar error;

}

Otros

Regresar OK ;

}

Elemento de impresión de estado (tipo remoto e)

{

printf("-2c ", e);

Regresar OK;

}

void main()

{

BiTree T = NULL

Printf("Ingrese la secuencia de caracteres para construir el árbol binario:");

T = crear bitree(T);

If (T)

Printf("¡El árbol binario se estableció correctamente!\n ");

Otros

Printf("¡¡¡Error en la construcción del árbol binario!!!\n ");

Printf("En secuencia Recorre el árbol binario: ");

InOrderTraverse(T, elemento de impresión

printf(" \ n "); >

}