Red de conocimiento informático - Conocimiento sistemático - Solicitar proceso de programación detallado

Solicitar proceso de programación detallado

Asegúrese de prestar atención al proceso de construcción del árbol: primero ingrese los datos del nodo raíz, luego el subárbol izquierdo y el subárbol derecho.

# incluir ltstdio.h gt

# incluir ltstdlib.h gt

typedef? estructura? Bittree

{

¿Carácter? Datos;

¿Árbol de bits? *lchild, * rchild

}?BTree, * pBTree

¿No válido? CreateTree(pBTree?*p)

{

Carácter? c='? ';

mientras(c== '?'||c=='\n ')? //Evita escribir espacios o nuevas líneas incorrectos.

scanf("c ", ampc);

if(c=='0 ') ¿devuelve? ; //De forma predeterminada, ingresa 0 en las hojas.

* p =(pBTree)malloc(sizeof(BTree));

(* p)- gt; datos = c

(* p) - gt;rchild = (* p)- gt;lchild = NULL

Crear árbol (amp((* p)- gt;lchild)); //Crear subárbol izquierdo

Crear árbol (amp((* p)- gt; rchild)); //Crear subárbol derecho

}

¿No es válido? Preorder(pBTree?p)

{//Recorrido de preorden

// Primero visite el nodo raíz, luego visite el subárbol izquierdo y finalmente visite el subárbol derecho.

¿si(p==NULL) regresa? ;

printf("c",p- gt; data);

Reserva(p->;l niño);

Reserva (p-> ;rchild);

}

¿No es válido? Inorder(pBTree?p)

{//Recorrido en orden

//Primero visite el subárbol izquierdo, luego visite el nodo raíz y finalmente visite el subárbol derecho.

¿si(p==NULL) regresa? ;

Para (p- gt; l niño);

printf ("c ", p- gt; datos

Para (p- gt); ;rchild);

}

¿No es válido? Postorden (pBTree?p)

{//Recorrido de postorden

//Primero visite el subárbol izquierdo, luego el subárbol derecho y finalmente el nodo raíz.

¿si(p==NULL) regresa? ;

Pedido por correo(p-gt;l niño);

Pedido por correo(p-gt;rchild);

printf("c",p -gt ;datos);

}

int? principal()

{

pBTree? Tree;

Printf("Comience a construir un árbol binario, ingrese datos:");

Crear árbol (amp tree);

Printf("Recorrido anterior resultados :\n ");

Preorden (árbol);

printf(" \n ");

Printf("Resultado del recorrido en orden: \ n ");

Inorder(árbol);

printf(" \ n ");

Printf("Publicar resultado transversal: \ n ");

Postorder (árbol);

printf(" \ n ");

¿Regresión? 0;

}