C 二叉樹的遍歷

2021-10-03 07:25:22 字數 1154 閱讀 6273

利用遞迴和非遞迴方式實現二叉樹的遍歷

#include "iostream"

using namespace std;

typedef struct treenode

tree,*lptree;

lptree createnode(char data)

void insertnode(lptree parentnode, lptree lchild, lptree rchild)

void printdata(lptree curdata)

void preorder(lptree root) //前序遍歷(遞迴方式)

}void preorderbystack(lptree root)//前序遍歷(非遞迴方式)

lptree stack[10];//節點的位置

int stacktop = -1;

lptree pmove = root;

while (stacktop != -1 || pmove)

if (stacktop != -1)

}}void midorder(lptree root) //中序遍歷

}void midorderbystack(lptree root)//中序遍歷(非遞迴方式)

lptree stack[10];//節點的位置

int stacktop = -1;

lptree pmove = root;

while (stacktop != -1 || pmove)

if (stacktop != -1)

}}void lastorder(lptree root) //後序遍歷

}void lastorderbystack(lptree root)//後序遍歷(非遞迴方式)

lptree stack[10];//節點的位置

int stacktop = -1;

lptree pmove = root;

lptree plastvisit = null; //訪問標記

while (pmove)

while (stacktop != -1)

else

} }}

int main()

C 二叉樹的表達 遍歷二叉樹

樹結構是一種資料結構,它由節點 node 以及連節點的邊 edge 構成。如果一棵樹具有乙個叫為根 root 的特殊節點,那麼這棵樹稱作有根數 rooted tree 樹結構有如下的定義 二叉樹的定義 擁有乙個根節點,所有節點的子節點不超過2的樹稱為二叉樹。include include using...

C 二叉樹 遍歷

b size large align center 二叉樹 遍歷 align size b 二叉樹的遍歷 1,遞迴遍歷,效率低 2.非遞迴遍歷 本文實現用堆疊儲存二叉樹的根節點,進行非遞迴遍歷。程式目的 1.建立二叉樹 2.遞迴遍歷二叉樹 3.非遞迴遍歷二叉樹 4.非遞迴遍歷用棧儲存根位址 5.用鍊...

C 二叉樹的遍歷

c 二叉樹的遍歷 using system using system.collections.generic using system.text namespace structure get public nodes t lnode get public nodes t rnode get pub...