实验4:二叉树的基本操作

news/2024/11/6 14:41:20/文章来源:https://www.cnblogs.com/liyutaocpp/p/18530164

c++解释: new相当于malloc()函数,其他没有区别!

点击查看代码
#include<iostream>
using namespace std;struct tree {int data;tree* light, *ture;
};
int jie, shen,maxx;
//创建
tree* chu() {tree* head;head = new tree;cout << "请输入数值:\n";cin >> head->data;if (head->data == 0)return nullptr;jie++;cout << "请输入该"<<head->data<<"的左结点,无则输入 0 \n";head->light = chu();cout << "请输入该" << head->data << "的右结点,无则输入 0 \n";head->ture = chu();return head;
}
//前序
void printqian(tree* head) {if (head == nullptr) return;cout << head->data << ' ';printqian(head->light);printqian(head->ture);
}
//中序
void printzong(tree* head) {if (head == nullptr) return;printzong(head->light);cout << head->data << ' ';printzong(head->ture);
}
//后序
void printhou(tree* head) {if (head == nullptr) return;printhou(head->light);printhou(head->ture);cout << head->data << ' ';
}void sheng(tree* head) {if (head == nullptr) return;shen++;maxx = max(maxx, shen);sheng(head->light);sheng(head->ture);shen--;
}int mumo() {cout << "您可以进行一下操作:\n";cout << "1:建立新二叉树\n";cout << "2:前序输出二叉树\n";cout << "3:中序输出二叉树\n";cout << "4:后序输出二叉树\n";cout << "5:查看现二叉树节点树\n";cout << "6:查看深度\n";cout << "其他:退出\n";int k; cin >> k;return k;
}int main() {tree* head=nullptr;while (true) {int k = mumo();if (k < 1 && k>6) break;switch (k) {case 1:head = chu();cout << "建立完成!\n";break;case 2:cout << "前序输出为:";printqian(head);cout << endl;break;case 3:cout << "中序输出为:";printzong(head);cout << endl;break;case 4:cout << "后序输出为:";printhou(head);cout << endl;break;case 5:cout <<"二叉树的节点有" << jie <<"个" << endl;break;case 6:maxx = -1;sheng(head);cout <<"该二叉树深度为:" << maxx << endl;break;}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/827655.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

北京-丰台-纪家庙

西域美食永照兰州拉面(❤❤❤)地址:丰台区南三环西路91号院1号楼1层107室 单人拉面套餐 ​ 招牌拉面 ​ 凉菜拼盘素 ​ 鸡蛋 ​ 价格:20R ​ 评价:拉面中规中矩,汤有点油,6分;凉菜爽口,不过也有点油,6分;煎蛋能吃出来不是剩的,7分;服务员主动给我提…

C++中调用C函数,会提示undefined reference to xxx,collect2: error: ld returned 1 exit status

在C++中调用C函数,即使头文件等都包含,编译后提示错误undefined reference to xxx,collect2: error: ld returned 1 exit status。这是因为C和C++编译过来中,函数的符号表示不一样。在c++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,加入比如…

img 标签高度多了几个像素

因为img标签是行内标签自带间距,导致图片和div之间有间隙<div class="img-container"><img src="xxxxxxxxx" /> </div> <style lang=less> .img-container {width: 200px;font-size: 0; // 方法一img {display: block; // 方法二…

【教程】第一章:界面和安装介绍——初识 NocoBase

1.1 快速体验 首先,我们推荐你快速体验 NocoBase,了解它的强大功能。你可以在 在线 Demo 填写邮箱和相关信息,点击开通。即可收到为期 2 天的体验系统,包含全部商业插件:收到 NocoBase 官方邮件之后,可以先行探索,感受 NocoBase 的灵活强大。可以在体验系统中随意操作,…

idea的git提交显示异常改怎么处理

1、打开设置 2、将项目和其他的VSC改为Git

Burp Suite Professional 2024.10 for macOS x64 ARM64 - 领先的 Web 渗透测试软件

Burp Suite Professional 2024.10 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件Burp Suite Professional 2024.10 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件 世界排名第一的 Web 渗透测试工具包 请访问原文链接:https://sysin.org/blog/burp-suite-pro-m…

Burp Suite Professional 2024.10 for Windows x64 - 领先的 Web 渗透测试软件

Burp Suite Professional 2024.10 for Windows x64 - 领先的 Web 渗透测试软件Burp Suite Professional 2024.10 for Windows x64 - 领先的 Web 渗透测试软件 世界排名第一的 Web 渗透测试工具包 请访问原文链接:https://sysin.org/blog/burp-suite-pro-win/ 查看最新版。原创…

如何使用 GoPro 进行视频直播 All In One

如何使用 GoPro 进行视频直播 All In One WebCam / 网络摄像头如何使用 GoPro 进行视频直播 All In OneWebCam / 网络摄像头支持视频直播的产品和应用GoPro HERO7 Black 及更高版本 GoPro Quik 应用(必需)https://community.gopro.com/s/article/How-To-Live-Stream-From-You…

tomcat-windows环境页面乱码问题

在catalina.bat目录总增加以下配置 set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"

数据科学在京东物流关键角色与前沿应用探索

作者:京东物流 何平小编之所以选择这个话题,是希望帮助大家更全面地理解数据科学的概念。数据科学是一个广泛而深刻的领域,不仅仅是数据分析、机器学习或大模型的代名词。它的核心在于如何更有效地挖掘数据背后的价值,将数据转化为业务驱动力。最终,通过数据科学实现成本优…

企业老板的最爱,KPI 数据大屏全屏监控企业经营数据目标达成

「KPI目标管理」,新增「目标数据大屏」,可视化追踪目标进度,老板最喜欢的目标数据追踪大屏,够炫酷! 应用场景 在企业管理中,每个人都面临着监控目标执行情况和管理团队的挑战。 每个人需要实时了解目标的落地情况、风险因素以及团队成员的贡献度,但传统的管理方式往往:…

IBM SPSS Amos 28下载与安装教程

1、安装包Amos28: 链接:https://pan.quark.cn/s/0f9dcffd2b38 提取码:Z18Q 2、安装教程 1) 双击安装,弹窗安装对话框2) 点击下一步,选择I accept ,点击Next3) 选择安装路径,建议安装C盘之外,选择完,点击Next4) 点击Install 开始安装5) …