Talentos de programación de Weihai
# 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>
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.