#include<stdio.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define SIZE 100
typedef int Status;
typedef char TElemType;
typedef char SElemType;
typedef struct BiTNode
{
TElemType data;
struct BiTNode *lchild,*rchild; //左孩子右孩子指针
}BiTNode,*BiTree,*Position;
typedef struct SNode
{
BiTree data;
struct SNode *next;
}SNode;
typedef struct
{
SNode *base; //在栈构造之前和销毁之后,base的值为NULL
SNode *top; //栈顶指针
}SqStack;
/*******************************声明部分****************************************/
Status InitStack(SqStack *S);
//初始化栈
Status Pop(SqStack *S,BiTree *e);
//删除栈顶元素,并用e返回栈顶元素
Status InitBiTree(BiTree *T);
//构造二叉树
Status Push(SqStack *S,BiTree e);
//将元素e压入栈
Status StackEmpty(SqStack S);
//判断是否栈空
Status GetTop(SqStack *S,BiTree *e);
//取栈顶元素,用e返回
Status InitBiTree(BiTree *T);
【数据结构】算法6.1-6.4 遍历二叉树
最新推荐文章于 2024-05-20 17:13:48 发布