📄 erchashu.cpp
字号:
#include<stdio.h>
#include<stdlib.h>
#define Null 0
typedef struct btnode
{
char data;
struct btnode *lchild,*rchild;
} st;
st *t; //*t为指向二叉树根结点的指针
char ch;
int node;
st *creat(st *p) //创建二叉树函数
{
if((ch=getchar())=='#')
p=Null;
else
{
p=(st *)malloc(sizeof(st)); //创建根结点
p->data=ch;
p->lchild=creat(p->lchild); //创建左子数
p->rchild=creat(p->rchild);//创建右子数
}
return p;//返回指向二叉树根结点的指针p
}
void preorder(st *p) //前序遍历
{
if(p!=Null)
{
printf("%2c",p->data);
preorder(p->lchild);
preorder(p->rchild);
}
}
void inorder(st *p) //中序遍历
{
if(p!=Null)
{
inorder(p->lchild);
printf("%2c",p->data);
inorder(p->rchild);
}
}
void lastorder(st *p) //后序遍历
{
if(p!=Null)
{
lastorder(p->lchild);
lastorder(p->rchild);
printf("%2c",p->data);
}
}
void main()
{
st *s;
//clrscr();
printf("Please input node(请输入二叉树字符序列):\n");
s=creat(t);
printf("前序遍历顺序是:");
preorder(s);
printf("\n");
printf("中序遍历顺序是:");
inorder(s);
printf("\n");
printf("后序遍历顺序是:");
lastorder(s);
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -