C 簡單二叉排序樹實現

2021-09-24 04:20:43 字數 841 閱讀 8906

基本思路:

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...