#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 遍历二叉树
本文深入探讨了数据结构中的二叉树遍历,包括前序遍历、中序遍历、后序遍历和层序遍历四种算法。通过详细步骤解析和实例演示,帮助读者理解并掌握这些基本操作。
摘要由CSDN通过智能技术生成