#include <iostream> #include <queue> usando el espacio de nombres std; #define ElemType char typedef struct BiTNode { Datos ElemType; struct BiTNode * lchild, * rchild; } BiTNode, * BiTree; nulo CreateBiTree (BiTree & T) { char ch; cin >> ch; if (ch == ' # ' ) { T = NULL; volver ; } T = nuevo BiTNode; T -> datos = ch; CreateBiTree (T -> lchild); CreateBiTree (T -> rchild); } void LevelOrder (BiTree T) { queue <BiTree> q; q.push (T); BiTree t; while (! q.empty ()) { t = q.front (); cout <<t-> datos << " " ; q.pop (); if (t-> lchild) q.push (t-> lchild); if (t-> rchild) q.push (t-> rchild); } cout << endl; } anular pedido previo (BiTree T) { if (T) { cout <<T-> data << " " ; Pedido anticipado (T -> lchild); Pedido anticipado (T -> rchild); } } int main () { raíz de BiTree; CreateBiTree (raíz); LevelOrder (raíz); Prepedido (raíz); cout << endl; devuelve 0 ; }