實現二叉排序樹建立和檢索演算法 c語言)

時間 2021-08-11 17:17:12

1樓:夢想窗外

#include

#include

#include

#define infmt "%d"

#define outfmt "%d "

/* #define null 0l */#define bool int

#define true 1

#define false 0

#define len 10000typedef int elemtype;

typedef struct bstnodebstnode, *bstree;

/* 插入新節點 */

void insert(bstree *tree, elemtype item)

cursor = cursor->lchild;

}else

cursor = cursor->rchild;}}}return;

}/* 查詢指定值 */

bstree search(bstree tree, elemtype item)

return null;

}/* 中綴遍歷 */

void inorder(bstree tree)}/* **資源 */

void cleanup(bstree tree)}/* 產生一組隨機數 */

void randnum(int *a, int s)}}}void main()

while (false == finish);

switch (choice)

break;

}case '2':

break;}}

printf("\n\n建立完成...\n");

inorder(root);

printf("\n\n");

/* 二叉排序樹的查詢測試 */

do while (choice=='y'||choice=='y');

cleanup(root);}

2樓:匿名使用者

朋友,看看這個是不是你要的,不過好像是c++的,c編的二叉樹的程式真的不多。

這是 另外一個

二叉排序樹與平衡二叉排序樹基本操作的實現

幸福減快樂 include include typedef struct bitnodebitnode,bitree bitree search tree bitree t,int keyword,bitree father return p bitree creat tree int count ...

關於遞迴演算法求二叉樹深度演算法,關於求二叉樹深度的遞迴演算法

int height bitree t if 中的n應該是v。其思想是,一個節點的深度是他的兩個子節點中深度的最大值再加上1。這個演算法中u得到其左子數的深度,v獲得右子樹的深度。則這個節點的深度就是u和v中最大的再加上1。要想獲得樹的深度,就先獲得這個樹中根節點的兩個兒子的深度,比較兩個兒子的深度...

關於二叉樹的建立和遍歷 ,為什麼輸入之後不輸出啊

有兩個錯誤 1.當讀入的是空格時,t賦值為空不錯,但此時應該返回,而不應該進入下一個判斷的else分句,樓主的 就是進入了if ch exit 0 的else分句。2.可以看到主函式中對createbitree的呼叫需要用一個指標承接返回值,所以根據遞迴呼叫的形式不變,在createbitree中呼...