首先数据二叉树中数据存储如图,n代表节点为空 ,此时退出当前函数。
分解各个步骤如图,为了简化,将节点中的数据代表节点,先left执行,left执行前先输出数据,left执行时,right等待。此图从上到下从左到右顺序输出即为先序遍历输出结果:
先序遍历简单程序如下:
void Bin(ChainBinTree *bt, void (*ope)(ChainBinTree *p))
{
if(bt)
{
ope(bt);
bin(bt->left,ope);
bin(bt->right,ope);
}
}