postb.c

来自「在定时器中断中做LED的PWM输出 AT89C2051实现A/D转换的C51程」· C语言 代码 · 共 34 行

C
34
字号
// 二叉树的后根遍历算法。
//
//                 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 POST (int k)  reentrant
{
	if (k>=N) return;	//待访问的节点序号超过范围
	if (TREE[k]=='\0') return;//待访问的节点不存在
	POST (2*k) ;	//先访问该节点的左子树
	POST (2*k+1) ;	//再访问该节点的右子树
	OUT [++OUT[0]] = TREE[k];//最后访问该节点(输出该节点信息)
}

main ( )
{
	OUT[0]=0;	//初始化已访问节点数
	POST (1) ; 	//从根节点开始后根遍历,顺序为GHDIEBJKFCA
	while (1) ; //在这一行设置断点,中止程序运行,以便观察程序运行的结果 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?