C语言实现创建二叉树,先序遍历、中序遍历、后序遍历输出

更新时间:2023-06-30 14:23:20 阅读: 评论:0

C语⾔实现创建⼆叉树,先序遍历、中序遍历、后序遍历输出# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <iostream>
# define OK 0;
# define ERROR -1;
typedef int TElemType;
typedef char DataType;
typedef int Status;
typedef struct BiNode {
DataType data;//存⾃定义类型的值
struct BiNode *lchild, *rchild;//左右⼩孩指针
}BiNode,*BiTree;
void CreatBiNode(BiNode **Node)//此处应注意传递的参数(⼆重指针)
{
char data;
scanf_s("%c", &data);
*Node = (BiTree)malloc(sizeof(BiNode));
if (data == '#')
{
*Node = NULL;
}
el if ((data != '#') && (*Node))
{
(*Node)->data = data;
(*Node)->lchild = NULL;
(*Node)->rchild = NULL;
CreatBiNode(&(*Node)->lchild);
葱油白蟹CreatBiNode(&(*Node)->rchild);
}
}
Status PreOrderTraver(BiTree T) {
if (T == NULL) {
再从return OK;
}
el {
printf("%c", T->data);
PreOrderTraver(T->lchild);
PreOrderTraver(T->rchild);
}
}
Status InOrderTraver(BiTree T) {超市图标
if (T == NULL) {
return OK;每日一诵
}
el {
InOrderTraver(T->lchild);
printf("%c", T->data);
InOrderTraver(T->rchild);
}
}
Status PostOrderTraver(BiTree T) {
if (T == NULL) {
return OK;
}
el {
PostOrderTraver(T->lchild);
PostOrderTraver(T->rchild);
printf("%c", T->data);
}
}
int main()
{
printf("先序输⼊⼆叉树(空结点⽤'#'表⽰):");
英语的名人名言
城南旧事电子书BiTree T=NULL;
CreatBiNode(&T);薯片做法
printf("先序遍历⼆叉树:");
沟槽开挖
PreOrderTraver(T);
printf("\n中序遍历⼆叉树:");
InOrderTraver(T);
printf("\n后序遍历⼆叉树:");
PostOrderTraver(T);
system("pau");
return 0;
}
解决思想:⼩⽣⽤的是递归创建⼆叉树,递归遍历⼆叉树,因为使⽤递归会⽐较简洁。(主要就是递归啦)。PS:如若有⼈看见⼩⽣此篇blog,多多评价和指教哈~,先在此谢过啦!

本文发布于:2023-06-30 14:23:20,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1070316.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:遍历   参数   电子书   类型
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图