(C語言)關於二叉排序樹的建立和查詢

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

1樓:匿名使用者

#include

#include

typedef struct np node;

node *create(void)

node *t(node *a,int d)else if (d>=a->dat)

else if (ddat)

return a;

}void inorder(node *r)}int ser(node *so,int a)int main(int argc, char* argv)fclose(fp);

inorder(bst); /*輸出二叉排序樹*/putchar('\n');

scanf("%d",&i); /*輸入需要查詢的數字*/if (ser(bst,i)) printf("yes"); /*如果找到,則輸出yes,否則輸出no*/

else printf("no");

return 0;

2樓:素水雲兒

難,做不出,這幾天做二維雙向迴圈鏈做的頭暈

3樓:匿名使用者

找本資料結構的書看看,問題就可以解決了。

4樓:綦葉羿情韻

#include

#include

#include

#define

infmt

"%d"

#define

outfmt

"%d"

/*#define

null

0l*/

#define

bool

int#define

true

1#define

false

0#define

len10000

typedef

intelemtype;

typedef

struct

bstnode

bstnode,

*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,ints)}

}}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);}

二叉排序樹C語言問題

include include include typedef struct nodetreenode treenode make node int item void free node treenode t void print item treenode t void in order tre...

二叉排序樹,用順序表(一維陣列)作儲存結構

高金山 include include using namespace std typedef struct node nodeptr nodeptr search nodeptr t,int key 查詢關鍵字key else if t key key else if t key key else...

跪求二叉樹排序的 源程式(一定要C語言的)!!!

這是個除錯程式。你自己也可以驗正下。遞迴想久了,頭都大了 還有這個排序只是對換資料。不是改變指標。這樣結構體大時就不能用了。include 二叉樹排序。include typedef struct btree 結構。btree create int n 建表else return null void...