📄 111.cpp
字号:
#include "stdio.h"
#include "malloc.h"
#include "time.h"
#define OK 1
#define ERROR 0
clock_t start,stop;
double duration;
typedef int status;
typedef struct BiTNode
{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
status visit(char e){
printf("%c ",e);
return OK;
};
status CreateBiTree(BiTree &T)
{ //按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树
char ch;
scanf("%c",&ch);
if(ch==' ') T=NULL;
else
{
if(!(T=(BiTNode*)malloc(sizeof(BiTNode)))) printf("OVERFLOW");
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
return OK;
}
status InOrderTraverse(BiTree T,status(* visit)(char e))
{//中序遍历二叉树
if(T)
{
if(InOrderTraverse(T->lchild,visit))
if(visit(T->data))
if(InOrderTraverse(T->rchild,visit)) return OK;
return ERROR;
}
else return OK;
}
status main()
{ start=clock();
BiTree T;
printf("按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树\n");
CreateBiTree(T);
printf("\n中序遍历二叉树的结果\n");
InOrderTraverse(T,visit);
stop=clock();
duration=((double)(stop-start))/CLK_TCK;
printf("\n%f",duration);
return OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -