后序遍历链式二叉树(递归和非递归)

#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100

//二叉树的结点
typedef struct Node
{
    char data;
    struct Node * LChild;
    struct Node * RChild;
}LinkBTree, * PLinkBTree;

//入栈的元素
typedef struct elementype
{  
    PLinkBTree node;
    int  flag;	
}elementype;

//顺序栈
typedef struct 
{
    int top; //指向栈顶,初始为-1
    elementype data[MAXSIZE]; //存储指向某个二叉树结点的指针
}SeqStack, * PSeqStack;

void PostTraverse1(PLinkBTree); //非递归后序遍历链式二叉树
void PostTraverse2(PLinkBTree); //递归后序遍历链式二叉树
PLinkBTree PreCreateLBT(void); //递归先序构造链式二叉树
void Init_SeqStack(PSeqStack); //初始化顺序栈
bool Push_SeqStack(PSeqStack, elementype); //压栈
bool Pop_SeqStack(PSeqStack, elementype *); //出栈
bool Is_Empty(PSeqStack); //判断栈空
void visit(PLinkBTree); //遍历具体操作
bool Is_Full(PSeqStack); //判断栈满

int main(void)
{
    PLinkBTree plb = NULL;
    plb = PreCreateLBT();

    printf("非递归后序遍历结果:\n");
    PostTraverse1(plb);

    printf("\n");

    pri
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值