課內最近學了二叉樹,參考書上的**,做了二叉樹的實現,尚不完善,還有很多地方不明白。
//二叉樹實現。
#define maxsize 100
#include
using
namespace std;
//定義二叉樹節點
class
btnode
;void
createbt
(btnode *
&bt,
char
*str)
;void
destroybt
(btnode *
&bt)
;btnode *
findnode
(btnode *bt,
double x)
;btnode *
lchildnode
(btnode *p)
;btnode *
rchildnode
(btnode *p)
;int
btheight
(btnode *bt)
;void
displaybt
(btnode *bt)
;btnode *
lchildnode
(btnode *p)
btnode *
rchildnode
(btnode *p)
//列印二叉樹
void
displaybt
(btnode *bt)}}
//尋找節點
btnode *
findnode
(btnode *bt,
double x)
else
if(bt-
>data==x)
else
else}}
//銷毀二叉樹
void
destroybt
(btnode *
&bt)
//cout<<"the destroy function is calling"<}
//根據括號表示法,建立二叉樹。利用堆疊實現。
void
createbt
(btnode *
&bt,
char
*str)
//掃瞄到逗號時,令k=2,表示開始建立右樹。
else
if(str[i]
==','
)//掃瞄到右括號時,對棧頂元素進行退棧操作。
else
if(str[i]
==')'
)//其他情況:掃瞄到元素值時
else
else
if(k==2)
}}i++;}
}int
main()
二叉樹實現
include include include include define maxsize 100 define ok 1 define error 0 define true 1 define false 0 typedef int status typedef int telemtype ty...
二叉樹實現
pragma once include include typedef char btdatatype typedef struct binarytreenode btnode include queue.h 通過前序遍歷的陣列 abd e h cf g 構建二叉樹 btnode binarytre...
二叉樹 二叉樹
題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...