?? bi-tree.cpp
字號:
#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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -