利用遞迴和非遞迴方式實現二叉樹的遍歷
#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...