📄 preb.c
字号:
//二叉树的前根遍历算法
//
// A
// / \
// / \
// B C
// / \ /
// D E F
// / \ / / \
// G H I J K
//
#define N 16 //满二叉树总节点数为N-1
//TREE为存放二叉树节点信息的数组,TREE[0]保存有效节点总数
char TREE[N]={11,'A','B','C','D','E','F','\0',
'G','H','I','\0','J','K'};
char OUT[N]; //存放被访问节点信息顺序的数组,OUT[0]保存已访问节点总数
void PRE (int k) reentrant
{
if (k>=N) return; //待访问的节点序号超过范围
if (TREE[k]=='\0') return;//待访问的节点不存在
OUT [++OUT[0]] = TREE[k];//先访问该节点(输出该节点信息)
PRE (2*k) ; //再访问该节点的左子树
PRE (2*k+1) ; //最后访问该节点的右子树
}
main ( )
{
OUT[0]=0; //初始化已访问节点数
PRE (1) ; //从根节点开始后根遍历,顺序为ABDGHEICFJK
while (1) ; //在这一行设置断点,中止程序运行,以便观察程序运行的结果
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -