c 實現二叉搜尋樹

2021-09-24 21:57:56 字數 1262 閱讀 2649

******************************.h部分****************************

#ifndef binaryserchtree_bst_h

#define binaryserchtree_bst_h

#include template class bst;//宣告

template class element

;template class bstnode

;template class bst

; bool insert(element& a);

bstnode* search(element& a);//遞迴搜尋

bstnode* search(bstnode*,element&);//遞迴搜尋

bstnode* itersearch(element&);//迭代搜尋

void display();

private:

bstnode* root;

};template void bstnode::dispaly(int i)

template void bst::display() else

//找到的位置就是q

p=new bstnode;

p->rightnode=p->leftnode=0;

p->data=a;

//讓該位置q節點的父節點鏈結它

if (!root) root=p;

else if (a.keydata.key) q->leftnode=p;

else q->rightnode=p;

}#endif //binaryserchtree_bst_h

*************************************.cpp實現*****************************

#include using namespace std;

#include "bst.h"

//bts:binary search tree 二叉查詢樹的缺點,永遠把第乙個節點作為根節點,當插入的資料都比根節點大或者小的時候變為了鍊錶

//二叉查詢樹是不平衡的樹

//紅黑樹是平衡的,可以自動平衡

//二叉樹性質:

//1.每乙個元素有乙個鍵值

//2.左子樹的鍵值都小於根節點的鍵值

//3.右子樹的鍵值都大於根節點的鍵值

//4.左右子樹都是二叉查詢樹

int main()

c 實現二叉搜尋樹

c 實現二叉搜尋樹 include include using namespace std struct node class tree tree tree void tree creattree node rt,int n if rt data n else else void tree leve...

二叉搜尋樹 二叉搜尋樹

題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...

二叉搜尋樹的c 實現

includeusing namespace std templateclass bstree template class bstnode bstnode t d,bstnode l null,bstnode r null data d leftchild l rightchild r bstno...