c++**:
#define _crt_secure_no_warninngs
#include
using
namespace std;
//二叉樹結點
typedef
struct binarytreenode binarytreenode;
//建立二叉樹
binarytreenode*
createbinarytree()
else
}return node;
}//二叉樹結點所在層數
intbinarytreegetnodelayer
(binarytreenode* node,
int key,
int*layer)
int n =0;
//如果根節點找到
if(node -
> root == key)
(*layer)++;
//如果根節點未找到,找根的左孩子結點
n =binarytreegetnodelayer
(node-
>lchild, key, layer);if
(n !=-1
)else
return
*layer;
}//銷毀二叉樹
void
freebinarytree
(binarytreenode *root)
if(root-
>rchild !=
null
)free
(root)
; root =
null;}
}int
main()
c++執行結果:
計算二叉樹中值為data的結點所在的層數
定義二叉樹的二叉鍊錶,設其元素為整數。然後編寫函式,計算二叉樹中值為data結點所在的層數。include include define maxsize 20 define treesize 7 typedef char elemtype typedef struct btnode btnode,b...
二叉樹節點x所在的層數
1.問題描述 假設二叉樹採用二叉鍊錶儲存結構,設計乙個演算法,求出二叉樹b中值為x的的節點的編號 2.思路分析 這道題目可以使用層次遍歷的方法來解決,但是使用這種方法解決的話可能有點麻煩因為所有節點的層數是不知道的,這裡採用另外一種方法來解決 對於題目中要求給出值為x所在節點的層號,這裡就包含著乙個...
二叉樹結點, 排序
二叉樹結點,排序 1.二叉搜尋樹結點最小距離 給定乙個二叉搜尋樹的根結點 root,返回樹中任意兩節點的差的最小值 對這個序列相鄰相減,取最小值即可。實現時,可以優化掉這個序列。在遍歷時記錄上乙個訪問的節點值,和當前節點相減,記錄下最小值即可 定義樹節點 public class treenode ...