发布时间:2023-05-07 13:00
二叉树遍历,非递归版
#include #include #include #include #include #include #include #include #include using namespace std; class node { public: char num; node* left; node* right; node() { num = 0; left = NULL; right = NULL; } node(char n) { num = n; left = NULL; right = NULL; } }; void pre(node* head) { if (head != NULL) { stack sta; sta.push(head); while (!sta.empty()) { head = sta.top(); cout << head->num << \" \"; sta.pop(); if (head->right) sta.push(head->right); if (head->left) sta.push(head->left); } } cout << endl; } void mid(node* head) { if (head != NULL) { stack sta; while (!sta.empty()||head) { if (head) { sta.push(head); head = head->left; } else { head = sta.top(); sta.pop(); cout << head->num << \" \"; head = head->right; } } } cout << endl; } void beh(node* head) { if (head != NULL) { stack sta; stack help; sta.push(head); while (!sta.empty()) { head = sta.top(); help.push(sta.top()->num); sta.pop(); if (head->left) sta.push(head->left); if (head->right) sta.push(head->right); } while (!help.empty()) { cout << help.top()<<\" \"; help.pop(); } } cout << endl; } void creatT(node* head) { static char n = \'B\'; if (n == \'F\') return; node* l = new node(); node* r = new node(); l->num = (n ++); r->num = (n ++); head->left = l; head->right = r; creatT(head->left); creatT(head->right); } int main() { node* tree = new node(); tree->num = \'A\'; node* head = tree; creatT(tree); mid(tree); pre(tree); beh(tree); }
[个人项目] 用 Electron + Vue3 + Golang 做个一个桌面 Markdown 笔记软件
Java基础语法_20_IO流02
arm linux 内核 c=,Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7)...
Hive分区表和分桶表
【开源】DA14580-SPI教程——疯壳·ARM双处理器开发板系列
深入理解集合:Stack栈
Redis主从复制哨兵和集群
css清除浮动的四种方法(详细)
【Ajax】如何通过axios发起Ajax请求
C语言文件操作之fread函数详解
c++ opencv图像拼接
【OPENVX】快速角点提取之 vxuFastCorners
在那段青春岁月里,我们是彼此的光
android 文字识别实现的,基于Android平台文字识别应用的设计与实现
Java单元测试框架 - JUnit
视频教程-基于springboot2.x+layui+shiro+redis整合前后端分离的权限管理系统-Java
Mysql—事务:Mysql事务日志(REDO,UNDO)
SpringBoot 热搜与不雅文字过滤的实现
STM32F4时钟系统
学习C/C++:伴随我成长的编程书!
ItVuer - 免责声明 - 关于我们 - 联系我们
本网站信息来源于互联网,如有侵权请联系:561261067@qq.com
桂ICP备16001015号