当前位置: 首页 > news >正文

编程日志5.10

二叉搜索树的基础代码

#include<iostream>
using namespace std;

//二叉搜索树节点定义
template<typename T>
struct TreeNode {
    T val;//一个类型为T的成员变量val,用于存储树节点的值
    TreeNode* left;//left、right两个指针类型的成员变量,分别用于指向树节点的左子节点和右子节点
    TreeNode* right;
    //这是一个无参的构造函数,用于初始化树节点的成员变量。在这个构造函数中,将节点的值设置为0,左子节点和右子节点都设置为NULL。
    TreeNode():val(0),left(NULL),right(NULL){}
    //这是一个有参的构造函数,用于初始化树节点的成员变量。在这个构造函数中,将节点的值设置为给定的参数x,左子节点和右子节点都设置为NULL。
    TreeNode(T x):val(x),left(NULL),right(NULL){}
};

//二叉搜索树 类定义
template<typename T>
class BinarySearchTree {
private://定义私有成员变量/函数
    TreeNode<T>* root;//1.用于存储二叉搜索树的根节点指针
    TreeNode<T>* insertNode(TreeNode<T>* node, T value);//2.用于向二叉搜索树中插入一个结点
    TreeNode<T>* removeNode(TreeNode<T>* node, T value);//3.用于从二叉搜索树中删除一个结点
    bool searchNode(TreeNode<T>* node, T value);//4.用于在二叉搜索树中搜索结点是否存在
    void inOrder(TreeNode<T>* node);//5.用于按照中序遍历方式遍历二叉树
public://定义公共函数
    BinarySearchTree():root(NULL){}//6.构造函数,用于初始化二叉搜索树的根节点为NULL
    ~BinarySearchTree();//7.析构函数,用于释放动态分配的内存
    void insert(T value) {//8.用于向二叉搜索树中插入一个值
        root = insertNode(root, value);
    }
    void

相关文章:

  • 向量数据库Qdrant的Collection参数配置说明
  • 【嵌入式项目-MCU代码2】
  • day28 python 类与继承
  • 使用Spring Boot与Spring Security构建安全的RESTful API
  • 二叉树的中序遍历 递归调用的完整展开
  • 完整卸载 Fabric Manager 的方法
  • Python海龟绘图(Turtle Graphics)核心函数和关键要点
  • W5500使用ioLibrary库创建DHCP客户端
  • 生产者 - 消费者模式实现方法整理
  • python + streamlink 下载 vimeo 短视频
  • 【Element UI】表单及其验证规则详细
  • DAY 23 训练
  • Python 3.11详细安装步骤(包含安装包)Python 3.11详细图文安装教程
  • Python 基础之函数命名
  • Nginx应用场景详解与配置指南
  • 【时时三省】(C语言基础)字符数组应用举例2
  • DeepSeek-R1 Supervised finetuning and reinforcement learning (SFT + RL)
  • MATLAB安装常见问题及解决办法
  • 开源项目实战学习之YOLO11:12.4 ultralytics-models-sam-memory_attention.py源码分析
  • 强化学习中,frames(帧)和 episodes(回合)
  • 墨西哥海军一载两百余人帆船撞上纽约布鲁克林大桥,多人落水
  • 世界高血压日|专家:高血压患者控制血压同时应注重心率管理
  • 烤肉店从泔水桶内捞出肉串再烤?西安未央区市监局:停业整顿
  • 上海高院与上海妇联签协议,建立反家暴常态化联动协作机制
  • 新任美国驻华大使庞德伟抵京履职,外交部回应
  • “一百零一个愿望——汉字艺术展”亮相意大利威尼斯