news 2026/6/23 10:11:54

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/6/22 19:05:30

固液混合电容服务商,你了解多少?

固液混合电容行业分析&#xff1a;聚焦东莞创慧电子有限公司行业痛点分析在固液混合电容领域&#xff0c;当前面临着诸多技术挑战。一方面&#xff0c;电容的稳定性有待提升&#xff0c;在复杂的电路环境中&#xff0c;容易出现性能波动&#xff0c;影响电子设备的正常运行。另…

作者头像 李华
网站建设 2026/6/22 6:42:13

VMAlert告警规则与动态配置详解

一、功能描述 VMAlert负责执行告警规则、生成告警事件&#xff0c;并将告警推送给 Alertmanager 或 Webhook&#xff0c;同时还能计算 Recording Rule 并写入存储。 在 集群模式下&#xff0c; VictoriaMetrics 具有独立的写入和读取路径组件 。vminsert写入组件用于执行规则…

作者头像 李华
网站建设 2026/6/22 17:08:06

5分钟用AI生成PL/SQL15注册码原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 使用快马平台&#xff0c;输入以下提示词&#xff1a;快速生成一个PL/SQL15注册码原型&#xff0c;包含基本生成和验证功能。代码应简洁&#xff0c;适合快速验证和迭代。点击项目生…

作者头像 李华
网站建设 2026/6/22 17:54:40

HTR3316 16路多功能LED驱动器与GPIO控制器产品详解

随着消费电子市场的快速发展&#xff0c;手机、音箱等产品对核心控制芯片的集成度、灵活性和稳定性提出了更高要求。HTR3316作为一款集16路LED驱动与GPIO控制于一体的多功能芯片&#xff0c;凭借宽电压适配、灵活配置、精准控制等核心优势&#xff0c;能够完美契合各类消费电子…

作者头像 李华
网站建设 2026/6/22 16:48:12

1小时搞定产品原型:HTML+AI快速验证创意

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个产品原型快速生成工具&#xff0c;能够&#xff1a;1. 根据产品描述自动生成可交互的HTML原型 2. 支持常见UI组件库 3. 生成响应式设计 4. 提供多种主题模板 5. 支持一键分…

作者头像 李华
网站建设 2026/6/22 16:59:40

告别手动编码:AI生成MD5工具类效率提升10倍

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 生成一个高性能的Java MD5加密工具包&#xff0c;要求&#xff1a;1. 支持多线程并发加密&#xff1b;2. 提供字符串和文件两种加密方式&#xff1b;3. 包含性能测试类&#xff0c;…

作者头像 李华