二叉树的层序创建和后续遍历(代码实现)
二叉树的创建与遍历 [一段可以运行的代码]二叉树的层序创建和后续遍历。 代码一共涉及涉及二叉树、队列、堆栈。二叉树和堆栈采用链表实现,队列采用数组实现。 二叉树本身用链表表示,链表每个节点有3个字段,其中2个是左右指针。 创建时是层序,用到了队列做中间容器。 在遍历时,借助了堆栈作为中间容器,堆栈本身可以用数组表示也可以用链表表示,这里选择用链表表示,链表元素包含2个字段,其中1个是数据,类型是指针,指针指向二叉树节点struct TreeNode;另外1个是表示链表常规指针Next。 #include<stdio.h> #include<stdlib.h> #define MAXSIZE 100 typedef struct SNode* Stack; typedef struct TreeNode* BinTree; typedef struct QNode* Queue; struct TreeNode{ int Data; BinTree left; BinTree right; }; struct SNode{ BinTre