二叉搜尋樹的插入,查詢,刪除

2021-06-19 05:32:53 字數 1196 閱讀 1233

#include using namespace std;

template class node//預設析構函式

};templatenode::node()

template node::node(t value)

template class bstree//預設析構

void buildbstree();//建立二叉樹

node* search(node* root,t key);//二叉搜尋樹的查詢

void insertnode(const t& value);//二叉樹的插入

void delmerging(const t& value);//合併刪除

void delcopying(const t& value);//複製刪除

}; templatebstree::bstree()

template void bstree::buildbstree() //插入建立二叉樹

}template node* bstree::search(node* root,t key) //二叉樹的查詢

return p;

}template void bstree::insertnode(const t& value) //二叉搜尋樹的插入

if (root == null) //考慮空樹

root = new node(value);

else if (pre->element < value)

pre->rightchild = new node(value);

else

pre->leftchild = new node(value);

}template void bstree::delmerging(const t& value) //合併刪除

delete p;

} cout}template void bstree::delcopying(const t& value)//複製刪除

node->element = p->element;

if (pre == node) /這種情況會出現麼?

else

pre->rightchild = p->leftchild; }}

int main()

二叉搜尋樹的查詢 插入 刪除

coding utf 8 time 2020 9 23 15 56 author julyli file bst.py class bitreenode def init self,data self.data data self.lchild none self.rchild none self....

二叉搜尋樹的插入 刪除 查詢

1 若左子樹不空,則左子樹上所有節點的值均小於它的根節點的值 2 若右子樹不空,則右子樹上所有節點的值均大於它的根節點的值 3 左 右子樹也分別為二叉排序樹 4 沒有鍵值相等的節點 插入的資料之後要滿足二叉樹的性質1和2,所以要先找到插入位置,且插入的位置一定是在葉子節點的下面 所以插入分兩個步驟 ...

二叉搜尋樹的查詢 刪除 插入

1 include2 3using namespace std 45 二叉搜尋樹 6 typedef struct binode 7binode bitree 這裡面的bitree前面有乙個星星,表示這種結構的指標型別 1314 sousuo 15 這裡的 t代表的是二叉排序樹,key表示的是要查詢...