二叉樹的建立 列印 刪除等函式(c)

2021-06-06 02:37:05 字數 1087 閱讀 3905

我認為要看懂下面的**,對於遞迴的執行,要很了解才是!

#include #include struct treenode;

typedef struct treenode *position;

typedef struct treenode *searchtree;

/* placein the implement file */

struct treenode

;/* clean up tree */

searchtree makeempty(searchtree t)

return null;

}/* find x in the tree */

position find(int x, searchtree t)

else if(t->element < x)

else if (t->element > x)

}else }

/* find min */

position findmin(searchtree t)

else

else

} }

/* find max */

position findmax(searchtree t)

else

else

} }/* insert x */

searchtree insert(int x, searchtree t)

else

}else if (x < t->element)

else if (x > t->element)

return t;

}/* delete x */

searchtree deletetree(int x, searchtree t)

else

else if (x > t->element)

else

else

}} return t;

}// 中序遍歷。列印。

void showtree(searchtree t)

}int main(void)

二叉樹 二叉搜尋樹建立 插入 刪除 查詢等操作

二叉搜尋樹性質如下 二叉搜尋樹篇 include include struct search tree typedef struct search tree typedef typedef struct search tree typedef stree node 向二叉搜尋樹插入乙個元素 int ...

二叉樹的建立,列印,銷毀

1 二叉樹節點的建立,每個節點間建立關聯,列印每個節點,銷毀二叉樹完整 include struct binarytreenode 建立新的節點 binarytreenode createbinarytreenode int value 節點間建立關聯 void connecttreenodes b...

二叉樹列印

舉例 1.初始化時,last 1,把1放入佇列 2.將1出隊,把1的子孩子2,3放入佇列,更新nlast 3 3.nlast更新完之後,列印上一次出隊的1,並和last比較,如果相同就列印換行,並更新last nlast 3 4.將2出隊,把2的子孩子4放入佇列,更新nlast 4 5,nlast更...