
最最最简单的二叉树实现-C++
发布日期:2021-05-08 04:53:55
浏览次数:22
分类:原创文章
本文共 1389 字,大约阅读时间需要 4 分钟。
我就不信你能找到比这更简单的,简单只是为了了解二叉树的思想,当然,以后会变难的。(手动狗头)
emm,英文水平还有待提高。
//最简单二叉树实现//通过先序递归生成,如果结束了就按0,没有就输入数字//通过递归实现前序,中序,后序遍历#include <iostream>#include <cstring>using namespace std;struct maintree { //树的一个结构体 int val; struct maintree* lson, * rson; //和链表有些相似};class Btree { //类主要是实现二叉树的一个封装--可以理解为有一个花园,里面放着一棵树和许多工具public: maintree* create_note(int level, string pos);//栽树,注意返回类型 void PreLook(maintree* t); void MidLook(maintree* t); void FinLook(maintree* t); maintree* root;};maintree* Btree:: create_note(int level, string pos) { int data; maintree* node = new maintree; cout << "Please enter data:level " << level << " " << pos << endl; cin >> data; if (data == 0) return NULL; node->val = data; node->lson = create_note(level + 1, "left"); node->rson = create_note(level + 1, "right"); return node;}void Btree:: PreLook(maintree* t) { if (t) { cout << t->val << endl; PreLook(t->lson); PreLook(t->rson); }}void Btree:: MidLook(maintree* t) { if (t) { MidLook(t->lson); cout << t->val << endl; MidLook(t->rson); }}void Btree:: FinLook(maintree* t) { if (t) { FinLook(t->lson); FinLook(t->rson); cout << t->val << endl; }}int main(int argc, char* argv[]){ Btree tree; tree.root = tree.create_note(1, "root"); cout << "我是前序查找\n"; tree.PreLook(tree.root); cout << "我是中序查找\n"; tree.MidLook(tree.root); cout << "我是后序查找\n"; tree.FinLook(tree.root); return 0;}
发表评论
最新留言
不错!
[***.144.177.141]2025年03月22日 23时56分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2019CCPC女生专场赛_K - Tetris_打表/模拟_暴力之王
2021-05-08
服务器下载部署配置nginx,实现nginx代理多个项目
2021-05-08
算法笔记之快速幂
2021-05-08
P1125 [NOIP2008 提高组] 笨小猴 (Java)
2021-05-08
HDU1559(二维前缀和模板 Java&C++)
2021-05-08
ASP.NET javascript实现图片切换
2021-05-08
ASP.NET jQuery 小实例(实现图片的放大&缩小)
2021-05-08
IIS express web 无法启动服务器
2021-05-08
“/”应用程序中的服务器错误。
2021-05-08
MUI之ajax获取后台接口数据
2021-05-08
使用sqlserver 查询不连续的数据
2021-05-08
用div+css+html+js 实现图片放大
2021-05-08
mui+vue.js实现上拉刷新和下拉加载
2021-05-08
mui返回到父页页面并进行刷新
2021-05-08
数据库中优化lock
2021-05-08
layui 点击选择框为啥会出现震动(已解决)
2021-05-08
layui跨行的使用
2021-05-08
地图划范围
2021-05-08
SSL证书下载及部署
2021-05-08