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

DS二叉排序树之创建和插入

题目描述

给出一个数据序列,建立二叉排序树,并实现插入功能。

在建立和插入操作后,都输出二叉树的先序遍历结果i

输入

第1行输入n,表示序列包含n个数据

第2行输入n个数据,都是自然数且互不相同,数据之间用空格隔开

第3行输入m,表示要插入m个数据

输入m行,每行一个要插入的数据,都是自然数且和前面的数据不等

输出

第一行输出一开始构建的二叉排序树的先序遍历结果

从第二行起,输出m行,每行输出插入一个数据到二叉排序树后的先序遍历结果

每行输出的遍历结果中,每个数据后面都带一个空格,最后一个数据也带。

IO模式

本题IO模式为标准输入/输出(Standard IO),你需要从标准输入流中读入数据,并将答案输出至标准输出流中。

输入样例:

6 22 33 55 66 11 44 3 77 50 10

输出样例:

22 11 33 55 44 66 22 11 33 55 44 66 77 22 11 33 55 44 50 66 77 22 11 10 33 55 44 50 66 77

代码实现:

#include <format> #include<iostream> using namespace std; class BST { private: struct TreeNode { int val; TreeNode *left,*right; TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} }; TreeNode* root; TreeNode* insertNode(TreeNode* node,int val) { if (node==nullptr)return new TreeNode(val); if (val<node->val)node->left=insertNode(node->left,val); else node->right=insertNode(node->right,val); return node; } void preOrder(TreeNode* node) { if (node==nullptr)return; cout<<node->val<<" "; preOrder(node->left); preOrder(node->right); } public: BST() : root(nullptr) {} void insert(int val) { root=insertNode(root,val); } void preOrderTraversal() { preOrder(root); } }; int main() { int n;cin>>n; BST bst; for (int i=0;i<n;i++) { int val;cin>>val; bst.insert(val); } bst.preOrderTraversal(); cout<<endl; int m;cin>>m; for (int i=0;i<m;i++) { int val;cin>>val; bst.insert(val); bst.preOrderTraversal(); cout<<endl; } }
http://www.rkmt.cn/news/117205.html

相关文章:

  • 对比评测:雷柏V500Pro键盘宏编程的3种高效方法
  • 2025 最新 PVC管厂家 TOP5 评测!深耕四川、贵州、西藏、重庆,优质服务商权威榜单发布,技术赋能给排水工程新生态 - 全局中转站
  • 二叉排序树的构建与遍历
  • AI教学服务平台开发:让“因材施教”有技术撑腰
  • 江南大学810考研,电子信息和通信工程,集成电路,招生人数,分数线,真题,大纲,参考书。
  • Diffusion Transformer:AI如何革新图像生成开发
  • AI CRM系统升级,原圈科技赋能销售洞察
  • 黑马程序员Java视频教程,一套超哇塞的Java教程,java零基础自学网盘地址免费分享
  • 高性价比之选!20万左右新能源 SUV 核心配置与续航实测
  • 2025 最新克拉管服务商 TOP5 评测!四川、贵州、西藏、重庆等地用户推荐,优质厂商权威榜单发布,品质赋能构建给排水新生态 - 全局中转站
  • 2025最新钢带波纹管厂家TOP5评测!深耕四川、贵州、西藏、重庆,西南、西北基建优选品牌榜单发布,品质赋能市政工程建设 - 全局中转站
  • 2025最新MPP电力管品牌TOP5 评测!服务深度覆盖四川、贵州、西藏、重庆,优质服务商权威榜单发布,赋能电力工程建设新发展 - 全局中转站
  • 基于微信小程序的校园义工系统毕业设计全套源码文档
  • 无线充电系统S - S拓扑仿真:WPT闭环控制探索
  • 零基础学会用AI监控网站链接健康状态
  • 曲速推理机故障排除指南
  • CF587F Duff is Mad
  • 用 Go 像写 Web 一样做桌面应用:完全离线的手机号归属地查询工具
  • AI助力SpringBoot+MyBatisPlus开发:自动生成CRUD代码
  • websocket功能开发
  • 分布式电源接入对配电网影响分析 关键词:分布式电源 配电网 评估 参考文档:《自写文档,联系我...
  • 突破功率密度瓶颈:SiC器件在通信电源中的应用与LLC变换器设计实战
  • Day4 9. 奇怪的信 -卡码网C++基础课
  • HoughLinesP 霍夫变换 C#x2B;#x2B; opencv 内存报错处理
  • Python - UV 为每个项目创建独立、干净的Python工作空间
  • 任务5-2 关联查询和子查询
  • 【计算机毕业设计案例】基于springboot+微信小程序的选修课管理系统的设计与实现“课程查询-在线选课-课表管理-成绩追踪”(程序+文档+讲解+定制)
  • AI如何帮助开发者防御DDoS攻击?
  • WSL2 多 GPU CUDA 初始化问题排查与解决指南
  • zzRAG 的检索优化:MMR 平衡相关性与多样性