题目描述
题目大意是,给出栽树时栈的操作顺序(先序或中序),要求输出该树后序遍历序列
难点有二,其一是如何将栈的操作顺序转化为相应的树的结构,其二是对后序遍历操作的考察
#include<stdio.h>
#include<stdlib.h>
#define N 100 //结点最大数量
typedef struct BiNode //树的结点
{
int data;
struct BiNode *lchild;
struct BiNode *rchild;
}BiNode,*BiTree; //二级指针用BiTree *表示
typedef struct //操作树的结点的栈
{
BiNode *Node[N];
int index;
}NodeStack;
//全局变量
NodeStack s;
int n,number;
void PushStack(BiNode *node) //结点入栈
{
if(s.ind