当前位置: 首页 > news >正文

树的先序,中序,后序递归遍历

//树的先序、中序、后序遍历递归 

#include<bits/stdc++.h>

typedef struct node

{

 char data;

 struct node *lchild,*rchild;

}BTNode;

void Greate(BTNode *&T)

{

 char ch;

 scanf("%c",&ch);

 if(ch=='#') T=NULL;

 else 

 {

  T=(BTNode*)malloc(sizeof(BTNode));

  T->data=ch;

  Greate(T->lchild);

  Greate(T->rchild);

 }

}

//先序遍历 

void PreOrder(BTNode *T)

{

 if(T!=NULL)

 {

  printf("%c",T->data);

  PreOrder(T->lchild);

  PreOrder(T->rchild);

 }

//中序遍历

void InOrder(BTNode *T)

{

 if(T!=NULL)

 {

  InOrder(T->lchild);

  printf("%c",T->data);

  InOrder(T->rchild);

 }

void PostOrder(BTNode *T)

{

 if(T!=NULL)

 {

  PostOrder(T->lchild);

  PostOrder(T->rchild);

  printf("%c",T->data);

 }

}

int main()

{

 BTNode *T;

 Greate(T);

 printf("先序遍历:");

 PreOrder(T);

 printf("\n");

 printf("中序遍历:");

 InOrder(T);

 printf("\n");

 printf("后序遍历:");

 PostOrder(T);

 return 0;

}

输入:AB#D##C#F##

输出:

先序遍历:ABDCF

中序遍历:BDACF

后序遍历:DBFCA

相关文章:

树的先序,中序,后序递归遍历

//树的先序、中序、后序遍历递归 #include<bits/stdc.h> typedef struct node { char data; struct node *lchild,*rchild; }BTNode; void Greate(BTNode *&T) { char ch; scanf("%c",&ch); if(ch#) TNULL; else { T(BTNode*)malloc(sizeof(BT…...

如何在Linux中更改SSH端口?

SSH&#xff08;Secure Shell&#xff09;是一种安全的远程登录协议&#xff0c;它允许您通过网络远程连接到Linux系统并进行管理操作。默认情况下&#xff0c;SSH使用22端口进行通信。然而&#xff0c;为了增强系统的安全性&#xff0c;有时候我们需要更改SSH端口&#xff0c;…...

合创视觉科技UI设计师就业发展前景怎么样?薪资待遇如何?

UI简介   用户界面&#xff08;简称UI&#xff0c;亦称使用者界面&#xff09;是系统和用户之间进行交互和信息交换的媒介&#xff0c;它实现信息的内部形式与人类可以接受形式之间的转换。用户界面是介于用户与硬件而设计彼此之间交互沟通相关软件&#xff0c;目的在使得用…...

VB一个可以改变箭头方向的气泡提示

新建一个类名。名称为clsTip Option Explicit * 模块名称&#xff1a;clsTip.cls * 功能&#xff1a;一个可以改变箭头方向的气泡提示类 Private Type TOOLINFO cbSize As Long dwFlags As Long hwnd As Long dwID As Long rtRect(3) As Long hInst As Long lpszText As String…...

STM8、STM8S003F3P6 双机串口通信(片上串口)

背景 这里为什么要写串口通信&#xff0c;因为实际项目上使用了串口&#xff0c;STM8S003F3P6的串口简单啊&#xff0c;不值得一提。本文写的串口确实简单&#xff0c;因为这里我想先从简单的写起来&#xff0c;慢慢的把难的引出来。这里呢&#xff0c;做个提纲说明&#xff0…...

FPGA基于AXI 1G/2.5G Ethernet Subsystem实现千兆UDP通信 提供工程源码和技术支持

目录 1、前言2、我这里已有的UDP方案3、详细设计方案传统UDP网络通信方案本方案详细设计说明UDP层设计AXIS-FIFOAXI 1G/2.5G Ethernet Subsystem&#xff1a;输出 4、vivado工程详解5、上板调试验证并演示系统配置UDP数据回环测试注意事项 6、福利&#xff1a;工程代码的获取 1…...

机器学习基础知识之多模型性能对比评价方法

文章目录 1、交叉验证t检验2、Friedman检验与Nemenyi后续检验 在进行预测或分类对比实验时&#xff0c;通常需要比较两个或两个以上的模型性能&#xff0c;因此&#xff0c;下面将介绍两个常用的多模型性能对比评价方法&#xff0c;一种是交叉验证t检验&#xff0c;该方法主要用…...

对敏感信息脱敏,如对姓名、证件号码、手机号码、银行卡号码进行脱敏

一、姓名脱敏 1、脱敏规则一&#xff1a;显示姓名中的第一个字&#xff0c;其它用*号代替。 显示姓名中的第一个字&#xff0c;如为英文等其他语种&#xff0c;也是显示第一个字母。其它用*号代替。 ① 举例 张* 王** A**** ② 实现方法 hideName(name) {if (!n…...

创建型——单例模式C++实现

单例模式即保证一个类只有一个实例&#xff0c;并提供一个访问该单例的接口。 实例 1.懒汉式 用的时候才创建单例&#xff0c;“懒”。 Singleton.h #ifndef SINGLETON_H_ #define SINGLETON_H_#include <iostream> #include <string> #include <mutex>…...

【华为OD统一考试B卷 | 100分】执行时长(C++ Java JavaScript Python)

文章目录 题目描述输入描述输出描述ACM输入输出模式用例机考代码查重C++javascriptjavapython题目描述 为了充分发挥GPU[算力],需要尽可能多的将任务交给GPU执行,现在有一个任务数组,数组元素表示在这1秒内新增的任务个数且每秒都有新增任务。 假设GPU最多一次执行n个任务,…...

操作系统原理 —— 内存管理的概念(十八)

为什么要有内存管理 为什么要对内存进行管理&#xff0c;需要解决什么问题&#xff1f; 要回答这个问题&#xff0c;首先我们需要明白&#xff1a;进程运行时&#xff0c;需放在内存才能运行。比如在执行一个程序时&#xff0c;需将该程序的相关数据与指令装入内存才能运行。…...

GPT-4国内怎么用

GPT-4是OpenAI推出的最新的生成式AI模型&#xff0c;作为ChatGPT的进化版&#xff0c;它在回答准确性、识图能力、生成歌词和创意文本等方面有了显著的提升。然而&#xff0c;由于网络限制&#xff0c;国内用户无法直接访问官方网站。那么&#xff0c;GPT-4在国内如何使用呢&am…...

搭建LightPicture开源免费图床系统「公网远程控制」

文章目录 1.前言2. Lightpicture网站搭建2.1. Lightpicture下载和安装2.2. Lightpicture网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 转载自cpolar极点云的文章&#xff1a;【搭建私人图床】使用LightPicture开源…...

shell编程lesson06

流控制 while 和 until 循环 #!/bin/bash# while-count:display a series of numbersi1 while [ $i -le 5 ];doecho $ii$((i1)) done echo "Finished!"while命令的语法结构如下&#xff1a; while commands;do commands;done 我们可以使用while循环改进上一节中的…...

国内免费可用的ChatGPT网页版

ChatGPT 一、ChatGPT是个啥&#xff1f;二、16个国内免费的ChatGPT网站。三、ChatGPT使用方式 一、ChatGPT是个啥&#xff1f; chat&#xff1a;表示“聊天”。 GPT&#xff1a;则是Generative、Pre-trained、Transformer的缩写&#xff0c;表示“预训练语言模型”&#xff0…...

用同样的关键词测试不同的人工智能

测试词汇&#xff1a;用“电商、接口、店群”写一篇关于API接口的推广软文 返回结果&#xff1a; 人工智能1&#xff1a; 电商行业已经进入了全面数字化转型的时代&#xff0c;而API接口技术正是数字化转型的重要组成部分。随着移动端、小程序等终端越来越普及&#xff0c;A…...

shell变量类型含义 长方形面积计算 截取相应字段方法

1.总结变量的类型及含义&#xff1f; 2.实现课堂案例计算长方形面积&#xff1f;&#xff08;6种方式&#xff09; 3.定义变量urlhttps://blog.csdn.net/weixin_45029822/article/details/103568815&#xff08;通过多种方法实现&#xff09; 1&#xff09;截取网站访问的协议 …...

Java:从单线程计数器到多线程数据同步synchronized和原子类Atomic

目录 使用单线程使用多线程使用多线程 synchronized使用多线程 原子类AtomicLong 使用单线程 单线程修改计数器的值&#xff0c;没有发生问题&#xff0c;每次运行结果都是10000&#xff0c;不过程序耗时较长 package com.example;/*** 计数器*/ class Counter {private st…...

提前进入行业顶尖阵营:高性能计算实习的竞争优势

如今就业越来越内卷&#xff0c;尤其是计算机行业更是如此。加上GPT以及大模型的加持&#xff0c;各大企业纷纷降本增效&#xff0c;普通程序员逐渐失去竞争力。想要在竞争激烈的就业市场中脱颖而出&#xff0c;提前进入行业顶尖阵营是一个明智的选择。而高性能计算实习将为您提…...

Java程序设计入门教程--标识符和关键字

目录 标识符 标识符的约定 标识符 1. 定义 用来标识类名&#xff0c;变量名&#xff0c;方法名&#xff0c;类型名&#xff0c;数组名&#xff0c;文件名的有效序列称为标识符。简单地说&#xff0c;标识符就是一个名字。 2. 标识符命名规则 &#xff08;1&#xff09;大小…...

MDK5.39编译报错Error:#268?手把手教你切换C99模式解决变量声明问题

MDK5.39编译报错Error:#268的深度解析与C99模式实战指南 当你在Windows 11环境下使用MDK5.39进行ARM嵌入式开发时&#xff0c;突然遇到"Error:#268: declaration may not appear after executable statement in block"这样的编译错误&#xff0c;确实会让人感到困惑。…...

SystemVerilog约束(constraint)里的“坑”与“宝”:从dist权重到solve...before的实战避坑指南

SystemVerilog约束设计中的精妙陷阱与高阶技巧&#xff1a;从概率调控到验证效能提升 在芯片验证领域&#xff0c;SystemVerilog的约束随机验证(CRV)就像一把双刃剑——用得巧妙可以大幅提升验证效率&#xff0c;但若忽视约束系统的精微特性&#xff0c;反而会引入难以察觉的验…...

OpenClaw配置可视化:Phi-3-mini-128k-instruct模型参数调优

OpenClaw配置可视化&#xff1a;Phi-3-mini-128k-instruct模型参数调优 1. 为什么需要参数调优&#xff1f; 上周我在用OpenClaw自动生成技术文档时遇到了一个典型问题&#xff1a;同样的提示词&#xff0c;有时候输出简洁专业&#xff0c;有时候却变得啰嗦跑题。这种不稳定性…...

【面板数据】A股上市公司研发投入数据(2000-2024年)

数据简介&#xff1a;作为评估企业创新能力与可持续发展潜力的关键维度&#xff0c;上市公司研发投入呈现显著的行业差异化特征&#xff0c;但总体保持稳健增长态势。随着信息披露监管要求的持续强化&#xff0c;研发投入透明度已成为提升企业市场信誉的重要抓手。值得注意的是…...

SQL复杂报表如何通过窗口函数优化_减少子查询提升性能

窗口函数可高效替代关联子查询&#xff0c;适用于累计值、移动平均、并列排名等场景&#xff0c;性能提升3–10倍&#xff1b;须注意RANK()与ROW_NUMBER()语义差异、ORDER BY的强制性、ROWS优于RANGE、窗口函数不可用于WHERE/HAVING等关键规则。窗口函数替代关联子查询的典型场…...

三相光伏逆变器研发深度解析:全源代码解读与性能优化指南

三相10Kw光伏并网逆变器。包含全套理图/PCB/源代码一、概述 本文档详细解读基于TI F28379D DSP芯片的三相10kW光伏并网逆变器代码系统。该代码采用模块化设计&#xff0c;涵盖核心控制、硬件抽象、参数配置、驱动适配等多个功能层级&#xff0c;支持交流开环、电流环独立逆变、…...

避坑指南:将π0模型从仿真迁移到Aubo真实机械臂,我踩过的那些‘坑’

从仿真到真实机械臂&#xff1a;π0模型迁移Aubo实战避坑手册 当我在实验室第一次看到π0模型在仿真环境中流畅地操控虚拟机械臂完成复杂抓取任务时&#xff0c;内心充满了将它部署到真实Aubo机械臂上的期待。然而&#xff0c;从仿真环境到真实硬件的迁移之路远比想象中坎坷——…...

SEO标题优化与内容营销的关系是什么

SEO标题优化与内容营销的关系&#xff1a;深度解析与实践指南 在数字营销的世界里&#xff0c;SEO标题优化与内容营销之间的关系日益紧密&#xff0c;两者共同塑造了网站的可见性和用户参与度。究竟SEO标题优化与内容营销的关系是什么呢&#xff1f;本文将深入解析这一关系&am…...

《WebPages 邮局》

《WebPages 邮局》 引言 在互联网的海洋中,WebPages 邮局犹如一座灯塔,为无数用户指引着信息传递的航向。本文将深入探讨 WebPages 邮局的功能、优势以及其在信息时代的重要地位。 WebPages 邮局的功能 1. 邮件收发 WebPages 邮局的核心功能是邮件收发。用户可以通过 We…...

从 0 到 1 构建你的第一个 AI Agent 项目——完整实战指南

【AI 开发】从 0 到 1 构建你的第一个 AI Agent 项目&#xff08;2026 最新实战指南&#xff09; 摘要 想做一个能写进简历的 AI Agent 项目&#xff0c;但不知道从哪开始&#xff1f;本文从项目选择、架构设计、技术选型到落地表达&#xff0c;给你一套完整的方法论。避开&q…...