数据结构实验之二叉树七:叶子问题
2017-11-01 14:49
162 查看
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int i;
char s[60];
typedef struct BiTNode
{
char data;
BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
BiTNode *createtree(BiTree &T)
{
char ch = s[i++];
if(ch == ',')
T = NULL;
else
{
T = new BiTNode;
T->data = ch;
T->lchild = createtree(T->lchild);
T->rchild = createtree(T->rchild);
}
return T;
}
void f(BiTree T)
{
BiTNode *t[100];
int i = 0, j = 0;
t[i++] = T;
while(i > j)
{
if(t[j])
{
if(!(t[j]->lchild) && !(t[j]->rchild))
{
printf("%c",t[j]->data);
}
else
{
t[i++] = t[j]->lchild;
t[i++] = t[j]->rchild;
}
}
j++;
}
}
int main()
{
while(~scanf("%s",s))
{
BiTNode *T;
i = 0;
T = createtree(T);
f(T);
printf("\n");
}
return 0;
}
#include<stdlib.h>
#include<string.h>
int i;
char s[60];
typedef struct BiTNode
{
char data;
BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
BiTNode *createtree(BiTree &T)
{
char ch = s[i++];
if(ch == ',')
T = NULL;
else
{
T = new BiTNode;
T->data = ch;
T->lchild = createtree(T->lchild);
T->rchild = createtree(T->rchild);
}
return T;
}
void f(BiTree T)
{
BiTNode *t[100];
int i = 0, j = 0;
t[i++] = T;
while(i > j)
{
if(t[j])
{
if(!(t[j]->lchild) && !(t[j]->rchild))
{
printf("%c",t[j]->data);
}
else
{
t[i++] = t[j]->lchild;
t[i++] = t[j]->rchild;
}
}
j++;
}
}
int main()
{
while(~scanf("%s",s))
{
BiTNode *T;
i = 0;
T = createtree(T);
f(T);
printf("\n");
}
return 0;
}
相关文章推荐
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题
- 数据结构实验之二叉树七:叶子问题(层序遍历输出叶子)
- 数据结构实验之二叉树七:叶子问题