#include
using
namespace std;
class
btreenode
//二叉樹的結點類
;
二叉樹類:
class
btree
//二叉樹類
}void
build()
}void
insert
(int d,btreenode *r,btreenode *p)
else
}else
if(d>=r-
>data)
else}}
void
preorder
(btreenode *r)
if(r-
>right!=
null)}
void
inorder
(btreenode *r)
cout<
>data<<
" ";
if(r-
>right!=
null)}
void
postorder
(btreenode *r)
if(r-
>right!=
null
) cout<
>data<<
" ";}}
;
主函式部分:input函式是獲取一串數列,還要結合build函式來建立二叉排序樹最後還有三種遍歷樹的操作
void
main()
這是根據二叉排序樹規則來自己實現,花了本人乙個多小時測試情況
C 二叉排序樹
輸入一系列整數,建立二叉排序樹,並進行前序,中序,後序遍歷。輸入第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。可能有多組測試資料,對於每組資料,將題目所給資料建立乙個二叉排序樹,並對二叉排序樹進行前序 中序和後序遍歷。每種遍歷結果輸出一行。每行最後乙個資料之後有乙個空格。輸入中可能...
二叉排序樹實現(C語言)
include include 定義基本的資料結構和型別預定義 struct treenode typedef struct treenode position typedef struct treenode searchtree typedef int elementtype struct tre...
C 簡單二叉排序樹實現
基本思路 1 使用隨機數構建二叉排序樹,若樹空則新建節點,若大於節點就遞迴插入右子樹,若小於節點則遞迴構建左子樹。2 中序遍歷即可公升序輸出,調整左子樹與右子樹遍歷順序即可降序輸出。3 查詢 若與節點匹配成功,則返回節點指標,若小於節點則遞迴查詢左子樹,若大於則遞迴查詢右子樹。include usi...