c语言数据结构---二叉树非递归输出

#include<stdio.h>
#include<stdlib.h>
#include<stack>
using namespace std;
typedef struct node{struct node*lchild;struct node*rchild;char data;
}Node,*Bit;Bit creat(){//先序创建 
char b;
int t;
scanf("%c",&b);
t=getchar();//吸收空格 if(b=='#')return NULL;else{Bit tree=(Bit)malloc(sizeof(Node));tree->data=b;printf("please input %c lefttree:",b);tree->lchild=creat();printf("please input %c righttree:",b); tree->rchild=creat();return tree;}
}
void fei(Node*tree){//先序 stack<Bit>s;Node*cur=tree;if(cur==NULL)return;while(!s.empty()||cur!=NULL){if(cur!=NULL){printf("%c ",cur->data);s.push(cur);cur=cur->lchild;}else{cur=s.top();s.pop();cur=cur->rchild;}
}
}int main(){
Bit tree;printf("please input root data:\n");
tree=creat();
printf("success_init_tree\n");
fei(tree);
}

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

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

相关文章

Git分支与Git标签详解

目录 前言 一、Git分支&#xff08;Branch&#xff09; 1.分支的概念 2.分支的常用操作 3.Git 分支管理 二、Git标签&#xff08;Tag&#xff09; 1.标签的概念 2.标签的类型 3.标签的常用操作 4.Git标签管理 前言 在软件开发过程中&#xff0c;版本管理是非常重要的一…

【无标题】通用工作站设计方案:ORI-D3R600服务器-多路PCIe3.0的双CPU通用工作站

ORI-D3R600服务器-多路PCIe3.0的双CPU通用工作站 一、机箱功能和技术指标&#xff1a; 系统 系统型号 ORI-SR630 主板支持 EEB(12*13)/CEB(12*10.5)/ATX(12*9.6)/Micro ATX 前置硬盘 最大支持8个3.5寸(兼容25寸)SATA硬盘 2*2.5(后置) 电源类型 CRPS元余电源&#xff0…

Kalman滤波

文章目录 一、公式推导二、扩展卡尔曼滤波 卡尔曼滤波是一种最优化递归数据处理算法。&#xff08;Optimal Recursive Data Processing Algorithm&#xff09; Kalman滤波是时域滤波&#xff0c;采用状态空间描述系统&#xff0c;运用递推形式是计算简单&#xff0c;数据存储量…

postman调用接口报{“detail“:“Method \“DELETE\“ not allowed.“}错误, 解决记录

项目是python代码开发, urls.py 路由中访问路径代码如下: urlpatterns [path(reportmanagement/<int:pk>/, views.ReportManagementDetail.as_view(), namereport-management-detail),] 对应view视图中代码如下: class ReportManagementDetail(GenericAPIView):"…

μC/OS-II---Task管理2(os_task.c)

目录 改变Task优先级Task挂起Task恢复Task信息获取Task调度器上锁&#xff08;os_core.c&#xff09;Task调度器开锁&#xff08;os_core.c&#xff09; 改变Task优先级 #if OS_TASK_CHANGE_PRIO_EN > 0u INT8U OSTaskChangePrio (INT8U oldprio,INT8U newprio) { #if (…

多商家签到打卡奖励免单霸王餐小程序开发

多商家签到打卡奖励免单霸王餐小程序开发 用户注册和登录&#xff1a;提供用户注册和登录功能&#xff0c;以便用户能够参与签到打卡活动。 商家入驻&#xff1a;商家可申请入驻平台&#xff0c;提交相关资料并等待平台审核&#xff0c;审核通过后即可发布活动和奖励。 签到打…

【SSH】SSH异常处理思路

1.介绍 SSH&#xff08;Secure Shell&#xff09;是一种加密的网络协议&#xff0c;用于安全地远程连接到服务器或其他计算设备。它提供了加密的通信信道&#xff0c;以防止敏感信息被窃听或篡改。SSH支持多种身份验证方法&#xff0c;其中之一是密码身份验证。 密码登录是最常…

.one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复

导言&#xff1a; 随着科技的不断发展&#xff0c;网络犯罪也在不断进化&#xff0c;.one4-V-XXXXXXXX勒索病毒作为其中的一种威胁&#xff0c;对个人和企业的数据安全构成了巨大的风险。本文将深入介绍.one4-V-XXXXXXXX勒索病毒的特点、详细的数据恢复方法&#xff0c;以及全…

Mysql 8.0 实现分组后获取组内极值算法 broup by

Mysql 8 中无法用低版本的 二次子查询实现&#xff0c;把数据集升序排列后&#xff0c;再外层做group By分组&#xff0c;取出第一条的方式。 因此引入了一个新函数&#xff0c;自动生成行序列&#xff0c;并且行序列按照指定字段分组后再根据自定字段进行排列原理如下 goupb…

相机通用类之LMI激光三角相机(3D),软触发硬触发(飞拍),并输出halcon格式对象

//在此之前可以先浏览我编写的通用上位机类&#xff0c;更方便理解 https://blog.csdn.net/m0_51559565/article/details/134403745最近完成一个关于LMI激光三角&#xff08;3D相机&#xff09;采图的demo&#xff0c;记录并说明用法。 先上代码。 using Lmi3d.GoSdk; using L…

使用FFmpeg转封装为hls(m3u8)流

​ 改造ffmpeg/doc/examples/remuxing.c&#xff0c;支持将输入流转封装为hls协议对应的github地址&#xff1a;GitHub - yagerfgcs/FFmpeg at examples/remuxing_support_hls修改点&#xff1a;增加设置hls头 // example:https://www.ffmpeg.org/ffmpeg-all.html#hls-2 // f…

c语言数据结构---三叉树

#include<stdio.h> #include<stdlib.h> #include<stack> using namespace std; typedef struct node{struct node*lchild;struct node*rchild;struct node*parent;char data; }Node,*Bit;Bit creat(){//先序创建 char b; int t; scanf("%c",&…

(个人实测保熟)记录Tecnomatix Process Simulate 16.1.2官方安装包及授权许可配置教程(Win10环境)

Tecnomatix Process Simulate 16是一款由西门子公司推出的一款工艺仿真解决方案,是虚拟制造仿真领域的领先解决方案,可帮助您数字化制造以及将创新思想和原材料转变为变革性产品的过程。在网上找了一些盗版的安装包&#xff0c;就很离谱。直接提示本"无法打开此安装程序包…

c语言数据结构---十字链表

#include<stdio.h> #include<stdlib.h> typedef struct node{//十字链表 输入三元组返回矩阵 int row,col,val;struct node *down,*right; }JD,*J; typedef struct {J *rhead,*chead;int mu,nu,tu;//行列非0元 }CS; CS creat(CS M){int m,n,t;;int k,j,e;JD *p,*q…

Elasticsearch和sboot整合

Elasticsearch是一个开源的、高性能的分布式搜索引擎&#xff0c;可以实现全文搜索、分析和存储等功能。Spring Boot是一个开源的Java框架&#xff0c;可以用于快速开发和部署应用程序。 将Elasticsearch和Spring Boot整合可以使得我们更加方便地使用Elasticsearch进行搜索和数…

Ajax实现步骤和原理

Ajax实现步骤和原理 一、什么是Ajax? Ajax 异步 JavaScript 和XML。   Ajax是一种用于创建快速动态网页的技术。   通过在后台与服务器进行少量数据交换&#xff0c;Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下&#xff0c;对网页的某部分进…

Java并发面试题知识点总结(下篇)

大家好&#xff0c;我是栗筝i&#xff0c;从 2022 年 10 月份开始&#xff0c;我便开始致力于对 Java 技术栈进行全面而细致的梳理。这一过程&#xff0c;不仅是对我个人学习历程的回顾和总结&#xff0c;更是希望能够为各位提供一份参考。因此得到了很多读者的正面反馈。 而在…

Day01_《MySQL索引与性能优化》摘要

一、资料 视频&#xff1a;《尚硅谷MySQL数据库高级&#xff0c;mysql优化&#xff0c;数据库优化》—周阳 其他博主的完整笔记&#xff1a;MySQL 我的笔记&#xff1a;我的笔记只总结了视频p14-p46部分&#xff0c;因为只有这部分是讲解了MySQL的索引与explain语句分析优化…

【ruoyi】微服务关闭登录验证码

登录本地的nacos服务&#xff0c;修改&#xff1a;配置管理-配置列表-ruoyi-gateway-dev.yml 将验证码的enabled设置成false&#xff0c;即可