Red de conocimiento informático - Conocimiento informático - Talentos de programación de Weihai

Talentos de programación de Weihai

tree.h

# include & ltstdio.h & gt

# include & ltmalloc.h & gt

#Definir el nodo máximo 50

nodo de bits de estructura typedef

{

datos char;

BiTNode *lchild, * rchild

}BiTNode, *BiTree

BiTree crea BiTree();

void en orden transversal(BiTree T);

creatTree.cpp

#Contiene “árbol . h"

BiTree CreateBiTree()

{

BiTree T;

char ch

scanf( " %c ", & ampch);

if (ch=='# ')

{

T = NULL

return T;

}

Otros

{

t =(nodo de bits *)malloc(sizeof(nodo de bits));

if (T==NULL)

{

Printf("¡Error en la creación del árbol!");

T = NULL

p>

return T;

}

t->; datos = ch

t->; l niño = crear bitree( );

t->;rchild = crear bitree();

devolver T;

}

}

InorderTraverse.cpp

#Contiene "tree.h"

Vacío en recorrido (árbol binario T)

{

Pila BiTree[ MAX_NODE], p = T;

int top=0, bool 1 = 1

if (T==NULL)

printf( "¡El árbol binario está vacío!\n ");

Otro

{

Hacer

{

Y (p! = vacío)

{

pila[++ top]= p;

p = p->lchild

}

si (arriba==0)

{

bool 1 = 0

}else{

p = pila[arriba];

arriba-;

printf("%c", p->data);

p = p ->rchild

}

} while (bool1! =0) ;

}

}

main_fun.cpp

#Contiene "árbol.h"

int main()

{

BiTree T = crear BiTree();

en orden atravesar(T); 0;

}

traverse.cpp

#Contiene "tree.h"

Recorrido de orden sin precedentes (árbol binario T)

p>

{

Si (T!=null)

{

/*Visita el nodo raíz*/

Antes del recorrido del pedido (T->l hijo);

<

p>printf("%c ", T->data);

Recorrido de pedido anticipado (T->rchild);

}

}

Por ejemplo, entrada AB###

Salida BA

Entrada de primer orden y salida de orden intermedio

Puedes modificar la modo transversal para cambiar los resultados de salida.