递归遍历
#include<iostream>
using namespace std;
typedef struct BinTree
{
ElemType data;
struct BinTree* Left;
struct BinTree* Right;
}BinTree;
void PostOrderTraversal(BinTree* BT)
{
if(Bt)
{
PostOrderTraversal(BT->Left);
PostOrderTraversal(BT->Right);
}
}
非递归遍历
#include<iostream>
using namespace std;
typedef struct BinTree
{
ElemType data;
struct BinTree* Left;
struct BinTree* Right;
}BinTree;
void PostOrderTraversal(BinTree* BT)
{
BinTree* T=BT;
stack* S=CreatStack();
while(T||!IsEmpty(S))
{
while(T)
{
push(S,T);
T=T->Left;
}
if(!Isempty(S))
{
T=Pop(S);
T=T->Right;
}
}
}
void PostorderTraversal(BinTree* T)
{
BinTree *T, *r=NULL;
Stack S = CreateStack();
T = BT; r = NULL;
while (T || !IsEmpty(S)) {
if (T) {
Push(S, T);
T = T->Left;
}
else {
T = Pop(S);
if (T->Right && T->Right != r) {
T = T->Right;
}
else {
Pop(S);
cout<<T->data<<" ";
r = T;
T = NULL;
}
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】