bi-tree.cpp
来自「本程序包括三个功能:按前序遍历的方式创建二叉树、前序遍历显示二叉树、完全二叉树的」· C++ 代码 · 共 73 行
CPP
73 行
#include <stdio.h>
#include <stdlib.h>
typedef struct BiTNode {
char data;
struct BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
int flag =0;
/*
//采用前序遍历的形式创建二叉树,空格表示空树
void create(BiTree T)
{
char ch;
scanf("%c", &ch);
if(ch=='#') T=NULL;
else {
T=(BiTree)malloc(sizeof(BiTNode));
T->data=ch;
printf("%c\n", T->data);
create(T->lchild);
create(T->rchild);
}
return;
}
*/
//采用前序遍历的形式创建二叉树,空格表示空树
BiTree create()
{
BiTree T;
char ch;
scanf("%c", &ch);
if(ch!='#')
{
T=(BiTree)malloc(sizeof(BiTNode));
T->data=ch;
T->lchild=create();
T->rchild=create();
}
else T=NULL;
return T;
}
//前序遍历二叉树,并判断是否为完全二叉树
//若是,返回0;否,返回1
int traverse(BiTree T)
{
if(T) {
if(!T->lchild && T->rchild) flag=1;
printf("%c ", T->data);
traverse(T->lchild);
traverse(T->rchild);
}
else printf("# ");
return flag;
}
void main()
{
BiTree T;
T=create();
int ctree=traverse(T);
printf("\n");
if(ctree) printf("非完全二叉树!\n");
else printf("完全二叉树!\n");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?