#include
#include
"btree.h"
#include
using
namespace std;
intmain()
else
if(q-
>rchild==
null
)else
printf
("\n(4)二叉樹深度:%d\n"
,btnodedepth
(p))
;printf
("\n(5)先序遍歷非遞迴演算法結果:");
dispbtnodebefore
(p);
printf
("\n(6)釋放二叉樹");
}
#define maxsize 100
typedef
char elemtype;
typedef
struct node
btnode;
typedef
struct
sqstack;
void
createbtnode
(btnode *
&b,char
*str)
;//由str串建立二叉鏈
btnode *
findnode
(btnode *b,elemtype x)
;//返回data域為x的節點指標
btnode *
lchildnode
(btnode *p)
;//返回*p節點的左孩子節點指標
btnode *
rchildnode
(btnode *p)
;//返回*p節點的右孩子節點指標
intbtnodedepth
(btnode *b)
;//求二叉樹b的深度
void
dispbtnode
(btnode *b)
;//以括號表示法輸出二叉樹
void
destroybtnode
(btnode *
&b);
//銷毀二叉樹
void
initstack
(sqstack *
&s);
//初始化棧
void
destroystack
(sqstack *
&s);
//銷毀棧
bool
stackempty
(sqstack *s)
;//棧是否為空
intstacklength
(sqstack *s)
;//返回棧中元素個數——棧長度
bool
push
(sqstack *
&s,btnode * e)
;//入棧
bool
pop(sqstack *
&s,btnode *
&e);
//出棧
bool
gettop
(sqstack *s,btnode *
&e);
//取棧頂資料元素
void
dispstack
(sqstack *s)
;//輸出棧
void
dispbtnodebefore
(btnode *b)
;//先序遍歷非遞迴
#include
#include
#include
"btree.h"
void
createbtnode
(btnode *
&b,char
*str)
//由str串建立二叉鏈
else}}
j++; ch=str[j];}
printf
("建立成功!\n");
}btnode *
findnode
(btnode *b,elemtype x)
//返回data域為x的節點指標
}btnode *
lchildnode
(btnode *p)
//返回*p節點的左孩子節點指標
btnode *
rchildnode
(btnode *p)
//返回*p節點的右孩子節點指標
intbtnodedepth
(btnode *b)
//求二叉樹b的深度
}void
dispbtnode
(btnode *b)
//以括號表示法輸出二叉樹}}
void
destroybtnode
(btnode *
&b)//銷毀二叉樹
}void
dispbtnodebefore
(btnode *b)
if(p-
>lchild!=
null)}
}destroystack
(st);}
void
initstack
(sqstack *
&s)void
destroystack
(sqstack *
&s)int
stacklength
(sqstack *s)
//返回棧中元素個數——棧長度
bool
stackempty
(sqstack *s)
bool
push
(sqstack *
&s,btnode * e)
else
}bool
pop(sqstack *
&s,btnode *
&e)else
}bool
gettop
(sqstack *s,btnode *
&e)
二叉樹非遞迴先序遍歷
二叉樹的遞迴先序遍歷很簡單,假設二叉樹的結點定義如下 1 struct binarytreenode 2 遞迴先序遵循 根 左 右的順序 1 void preorder binarytreenode root 2非遞迴我們以乙個例子說明,仍然以之前博文的乙個二叉樹說明 1 82 36 104 55 ...
二叉樹的非遞迴先序,中序遍歷
題目描述 從鍵盤接收擴充套件先序序列,以二叉鍊錶作為儲存結構,建立二叉樹。採取非遞迴方法輸出這棵二叉樹的先序 中序遍歷序列。樣例輸入 abc de g f 樣例輸出 abcdegf cbegdfa 實現 include include define max 100 typedef struct no...
非遞迴先序遍歷二叉樹 2
非遞迴先序遍歷二叉樹 include define maxsize 100 typedef char datatype 二叉鍊錶型別定義 typedef struct binnode binnode,bintree 順序棧型別定義 typedef struct seqstk 初始化棧 int ini...