基本思路:
1、使用隨機數構建二叉排序樹,若樹空則新建節點,若大於節點就遞迴插入右子樹,若小於節點則遞迴構建左子樹。
2、中序遍歷即可公升序輸出,調整左子樹與右子樹遍歷順序即可降序輸出。
3、查詢:若與節點匹配成功,則返回節點指標,若小於節點則遞迴查詢左子樹,若大於則遞迴查詢右子樹。
#include
using
namespace std;
typedef
struct bstnode
bstnode,
*bstree;
void
insertbst
(bstree &t,
int e)
//插入二叉排序樹
else
if(e>data)
insertbst
(t->lchild, e)
;else
if(e>t-
>data)
insertbst
(t->rchild, e);}
void
initbst
(bstree &t)
//初始化二叉排序樹
}void
ascendoutput
(bstree &t)
//公升序//相當於中序遍歷
}void
desendoutput
(bstree &t)
//降序
}bstree searchbst
(bstree t,
int key)
//查詢
intmain()
C 實現二叉排序樹
include using namespace std class btreenode 二叉樹的結點類 二叉樹類 class btree 二叉樹類 void build void insert int d,btreenode r,btreenode p else else if d r data e...
C 二叉排序樹
輸入一系列整數,建立二叉排序樹,並進行前序,中序,後序遍歷。輸入第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。可能有多組測試資料,對於每組資料,將題目所給資料建立乙個二叉排序樹,並對二叉排序樹進行前序 中序和後序遍歷。每種遍歷結果輸出一行。每行最後乙個資料之後有乙個空格。輸入中可能...
二叉排序樹實現(C語言)
include include 定義基本的資料結構和型別預定義 struct treenode typedef struct treenode position typedef struct treenode searchtree typedef int elementtype struct tre...