【問題描述】
以二叉鍊錶為儲存結構,編寫演算法求二叉樹中值為x的結點的層號。
【輸入形式】兩行,第一行是擴充套件二叉樹的前序遍歷序列,第二行是待查詢結點x
【輸出形式】值為x的結點所在層號。根結點所在層記為第1層。
【樣例輸入】ab#d##c##
d
【樣例輸出】
3
#include
using
namespace std;
template
<
typename datatype>
struct binode
;template
<
typename datatype>
class
bitree
intlevelnum
(datatype x)
private
: binode
*creat()
; binode
*root;
intlevelnum
(binode
*bt,
int level,datatype x);}
;template
<
typename datatype>
binode
*bitree
::creat()
return bt;
}template
<
typename datatype>
int bitree
::levelnum
(binode
*bt,
int level,datatype x)
intmain()
求二叉樹中值為x的結點的層號
問題描述 以二叉鍊錶為儲存結構,編寫演算法求二叉樹中值為x的結點的層號。輸入形式 兩行,第一行是擴充套件二叉樹的前序遍歷序列,第二行是待查詢結點x 輸出形式 值為x的結點所在層號。根結點所在層記為第1層。樣例輸入 ab d c d 樣例輸出 3分析 1.構建二叉樹 結點 2.輸入結點數值 3.遍歷記...
計算二叉樹中值為data的結點所在的層數
定義二叉樹的二叉鍊錶,設其元素為整數。然後編寫函式,計算二叉樹中值為data結點所在的層數。include include define maxsize 20 define treesize 7 typedef char elemtype typedef struct btnode btnode,b...
求二叉樹的雙親結點
思路就是如果當前任乙個孩子結點的值等於k,說明當前節點即為所需結點的雙親結點,通過遞迴實現唯一比較麻煩的是要寫很多條件,不然會報錯。主要功能實現是preorder函式其他是構建和列印二叉樹的函式。include include include using namespace std define t...