news 2026/7/7 8:16:51

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 15:52:24

为什么NVL能提升你的MySQL查询效率?性能对比实测

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个性能测试脚本&#xff0c;比较MySQL中使用NVL/IFNULL/COALESCE处理NULL值与使用CASE WHEN或多次查询的性能差异。要求&#xff1a;1) 创建包含100万条测试数据的表&#xf…

作者头像 李华
网站建设 2026/7/7 14:09:04

cesium126,230524,Cesium for Unreal 叠加地图影像:

&#xff08;182&#xff09; 叠加地图影像&#xff0c;多个覆层 &#xff1a; 看另一个覆层 &#xff1a;&#xff08;183&#xff09; 这个 zoom levels 不要勾选 &#xff1a;&#xff08;184&#xff09; 老师的总结 &#xff1a;&#xff08;185&#xff09; 谢谢

作者头像 李华
网站建设 2026/7/7 0:41:06

企业级HTML代码审查自动化方案 - 快马平台案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个企业级HTML代码审查系统&#xff0c;功能包括&#xff1a;1. 自动检测不符合W3C标准的代码 2. 识别潜在的性能问题 3. 检查可访问性(A11Y)问题 4. 生成详细的审查报告 5. 提…

作者头像 李华
网站建设 2026/7/7 8:13:03

AWK实战:5个工作中最常用的文本处理案例详解

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个综合AWK脚本&#xff0c;包含以下功能&#xff1a;1)从CSV文件中提取特定列并重新格式化&#xff1b;2)计算数值列的总和与平均值&#xff1b;3)过滤符合特定条件的行&…

作者头像 李华
网站建设 2026/7/7 18:46:39

如何监控EmotiVoice服务运行状态?Prometheus集成方案

如何监控EmotiVoice服务运行状态&#xff1f;Prometheus集成方案 在语音合成技术日益渗透到智能客服、游戏NPC、有声内容创作等场景的今天&#xff0c;一个稳定、可观察的服务架构变得至关重要。EmotiVoice 作为一款支持多情感表达和零样本声音克隆的开源TTS引擎&#xff0c;虽…

作者头像 李华
网站建设 2026/7/7 18:48:29

游戏又崩溃了?深扒电脑游戏加载失败的 5 大幕后黑手

对于游戏玩家来说&#xff0c;世界上最遥远的距离不是生与死&#xff0c;而是你坐在昂贵的电竞椅上&#xff0c;眼前的屏幕却弹出了一行冷冰冰的报错代码&#xff0c;或者干脆卡在加载界面转圈圈。“明明配置够了&#xff0c;为什么游戏还是打不开&#xff1f;”这是无数玩家在…

作者头像 李华