C语言创建一个二叉树

2023-11-09

如何创建一个二叉树,先序遍历,中序遍历。

#include <stdio.h>
#include <stdlib.h>

#include<bits/stdc++.h>
#define NULLKEY '?'

typedef struct btnode
{
    char data;
    struct btnode *lchild,*rchild;
}btnode,*bitree;
//创建一个二叉树

bitree preCreateBitree(bitree &root)
{
    char ch;
    scanf("%c",&ch);
    if(ch==NULLKEY)
    {
        root=NULL;
        return(root);
    }
    else
    {
        root=(bitree)malloc(sizeof(btnode));
        root->data=ch;
        preCreateBitree(root->lchild);
        preCreateBitree(root->rchild);
        return(root);
    }
}

void fsearch(bitree root)
{
    if(root==NULL)
        return ;
    else
    {
        printf("%c",root->data); //先序遍历每个结点的值
        fsearch(root->lchild);
        fsearch(root->rchild);
    }
}

void msearch(bitree root)
{
    if(root==NULL)
        return ;
    else
    {
        msearch(root->lchild);
        printf("%c",root->data); //中序遍历每个结点的值
        msearch(root->rchild);
    }
}

int main()
{
    bitree root;
    root = preCreateBitree(root);
    printf("first:");
    fsearch(root);
    printf("\n");
    printf("middle:");
    msearch(root);
    printf("\n");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言创建一个二叉树 的相关文章

  • 只保留日期_如何在excel中自动填写日期,以5分钟为增量,批量生成数字

    日期和时间可以自动填充 Excel中的数字除外 日期可以按天 月 年和工作日填充 时间可以按小时 分钟和秒递增填充 填写日期的方法有三种 一种是拖拽自动填写 另一种是双击单元格填写手柄自动填写 第三种是用序列填写大量数据 如填写一年 几年甚
  • 【爬虫】JS逆向解决反爬问题系列4——nonce破解

    欢迎来到我的博客 作者 秋无之地 简介 CSDN爬虫 后端 大数据领域创作者 目前从事python爬虫 后端和大数据等相关工作 主要擅长领域有 爬虫 后端 大数据开发 数据分析等 欢迎小伙伴们点赞 收藏 留言 本次博客内容将讲解关于nonc
  • a标签禁用

    a 链接 a 以上写法不能实现a标签禁用功能 Can t bind to disabled since it isn t a known property of a 正确写法 a href 链接 a href一定要加 不加实现不了置灰 a

随机推荐

  • Kettle是什么(ETL工具)

    1 Kettle是什么 Kettle是一个开源的ETL工具 全称为Pentaho Data Integration PDI 它可以用于从不同的数据源中提取数据 进行转换和加载到目标数据源中 Kettle支持多种数据源的操作 如关系型数据库
  • 【笔记~】使用js实现搜索排序(el-table)

    直接看代码 div div class serchBox div div
  • TAQS.IM Solo v1.2.11 WiN 中东方韵律合成器

    TAQSIM Solo 不仅准备了虚拟合成与采样播放的多层级混合引擎 还为音乐创作者们带来了大量现代世界音乐中的音色 不仅包括合成音色 还有与世界各地音乐家合作带来的乐器音色 比如弦乐器 TAQSIM Solo 采用了三层级合成器引擎 每个
  • Python3、setuptools、Pip3安装详解

    博客核心内容 1 Python3安装 2 setuptools安装 3 Pip3安装 之所以写这篇博客 也是有很多原因了 每次安装都要从网上各种百度 网上的答案也是各种各样 于是决定好好总结一下 下面是我在安装的过程中参考的几篇博客 附上相
  • nft术语解释

    NFT 爱好者 原文用的是nerds 翻译作书呆子 我感觉不太合理 我写成爱好者 在谈论这个东西时候总是会有一堆让人眼花缭乱的术语 对非圈内人来说会感觉难以理解 这里整理了23个术语解释来帮助你理解 作为nerds的其中之一 我过滤掉了一些
  • Mysql中的日期与时间类型

    MySQL有多种表示日期和时间的数据类型 不同的版本可能有所差异 MySQL8 0版本支持的日期和时间类型主要有 YEAR类型 TIME类型 DATE类型 DATETIME类型和TIMESTAMP类型 YEAR类型通常用来表示年 DATE类
  • Vue Cli3.x-4.x 实现rem适配

    Vue移动端rem适配 1 安装lib flexible和postcss px2rem npm install lib flexible save npm install postcss px2rem save 2 在main js中引入l
  • JavaScript 数组塌陷

    概念 数组塌陷 在对数组进行操作的时候 会使数组的长度产生变化 同时 操作的数组那个项的下一个索引会被跳过 从而造成数组的某项会被跳过 这种叫做数组塌陷现象 例子 let arr 1 2 3 3 3 3 3 3 3 4 5 6 7 8 9
  • Nodejs 快速学习

    1 Nodejs快速入门 1 1 安装 官网 https nodejs org zh cn download 一路next安装即可 cmd查看 是否 安装成功 1 2 什么是Nodejs 注意 ES6语法完全兼容 1 3 第一个Nodejs
  • [python+nltk] 自然语言处理简单介绍和NLTK坏境配置及入门知识(一)

    本文主要是总结最近学习的论文 书籍相关知识 主要是Natural Language Pracessing 自然语言处理 简称NLP 和Python挖掘维基百科Infobox等内容的知识 此篇文章主要参考书籍 Natural Language
  • 恶意URL数据集

    一些URL数据集的收集来源 1 https openphish com feed txt 2 https ransomwaretracker abuse ch blocklist 3 https www phishtank com 4 ht
  • SnackBar 简单使用

    1 简介 Snackbar是Android Support Design Library库中的一个控件 可以在屏幕底部快速弹出消息 比Toast更加好用 可以添加点击行为 多用于结合协调布局使用 CoordinatorLayout impl
  • 全国身份证身份数据库sql(2021最新)

    为方便下载 已经将 sql 文件上传CSDN 链接 http download csdn net download leiflyy 10143794 insert into areazone areazone province city z
  • linux的dirty page回写磁盘过程中是否允许并发写入更新page?

    概述 众所周知Linux内核write系统调用采用pagecache机制加速写入过程 避免write系统调用长时间block应用进程 用户态进程执行write调用的时候 内核只是将用户态buffer copy到内核的pagecache当中
  • Golang Gorm 创建HOOK

    创建的时候 在插入数据之前 想要做一些事情 钩子函数比较简单 就是实现before create的一个方法 package main import gorm io driver mysql gorm io gorm type Student
  • maven安装

    1 maven 安装 需要使用maven命令 在需要的的操作系统中 安装maven插件 这里我用是Windows操作系统 2 在Windows安装maven 1 安装jdk 2 下载地址http maven apache org 3 解压后
  • Streamlit 讲解专栏(九):深入探索布局和容器

    文章目录 1 前言 2 st sidebar 在侧边栏增添交互元素 2 1 将交互元素添加至侧边栏 2 2 示例 在侧边栏添加选择框和单选按钮 2 3 特殊元素的注意事项 3 st columns 并排布局多元素容器 3 1 插入并排布局的
  • 揭秘最领先的Llama2中文大模型!

    导语 国内最大的开源社区 Llama中文社区率先完成了国内首个真正意义上的中文版Llama2 13B大模型 从模型底层实现了Llama2中文能力的大幅优化和提升 毋庸置疑 中文版Llama2一经发布开启了国内大模型新时代 全球最强 但中文短
  • Mybatis-动态sql和分页

    目录 一 什么是Mybatis动态分页 二 mybatis中的动态SQL 在BookMaaper xml中写sql BookMapper BookBiz接口类 BookBizImpl实现接口类 demo测试类 编辑 测试结果 三 mybat
  • C语言创建一个二叉树

    如何创建一个二叉树 先序遍历 中序遍历 include