二叉搜索树(模板)

本文提供了一个二叉搜索树的模板实现,包括查找、插入、查找最大节点、查找最小节点、删除和先序遍历等功能,适用于C++编程。这个模板对于理解和应用二叉搜索树的操作具有参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个二叉搜索树的模板

主要功能有:

查找,插入,寻找树的最大节点,寻找树的最小节点,删除,先序输出

希望能对大家有所帮助

#include<bits/stdc++.h>
using namespace std;
struct Tree{
    int data;
    Tree*lchild;
	Tree*rchild;
};Tree*find(Tree*bst,int value){//查找
	//如果为空;
	if(bst==NULL)return bst;
	//当不为空时分两种情况,第一种比此节点值大,第二种比此节点值小。
	else if(bst->data>value)return find(bst->lchild,value);
	else if(bst->data<value)return find(bst->rchild,value);
	else return bst;
}Tree*insertTree(Tree*bst,int value){//插入
	//如果为空
	if(bst==NULL){
		bst=new Tree;
		bst->data=value;
		bst->rchild=NULL;
		bst->lchild=NULL;
		cout<<value<<"插入树中"<<endl;
		return bst;
	}if(value<bst->data)bst->lchild=insertTree(bst->lchild,value);
	else if(value>bst->data)bst->rchild=insertTree(bst->rchild,value);
	else cout<<value<<"已在树中,不能再次插入!!!"<<endl;
	return bst;
}Tree*findmax(Tree*bst){//寻找树的最大节点
	if(bst==NULL)cout<<"该树为空";
	if(bst->rchild
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值