#include"stdio.h"
#include"stdlib.h"
#include<queue>
#include<cstring>
using namespace std;
typedef struct BinaryNode
{
char data;
BinaryNode *lchild;
BinaryNode *rchild;
} *BinaryTree;
BinaryTree create()
{
BinaryTree T;
char ch;
scanf("%c",&ch);
if(ch=='#')
T=NULL;
else
{
T=(BinaryNode *)malloc(sizeof(BinaryNode));
T->data=ch;
T->lchild=create();
T->rchild=create();
}
return T;
}
void postorder(BinaryTree T)
{
printf("%c",T->data);
if(T->lchild!=NULL)
{
postorder(T->lchild);
}
if(T->rchild!=NULL)
{
postorder(T->rchild);
}
}
void Corder(BinaryTree T)
{
deque<BinaryNode*> QTree;
QTree.push_back(T);
while(QTree.size())
{
BinaryTree temp=QTree.front();
QTree.pop_front();
printf("%c",temp->data);
if(temp->lchild)
QTree.push_back(temp->lchild);
if(temp->rchild)
QTree.push_back(temp->rchild);
}
}
int main()
{
BinaryTree Tree;
Tree=create();
Corder(Tree);
system("pause");
return 0;
}层次遍历二叉树
最新推荐文章于 2023-10-17 19:56:02 发布
本文介绍了一种使用 C 语言实现二叉树的方法,包括二叉树的创建及中序、后序遍历等操作。通过递归的方式创建二叉树,并实现了基于队列的层次遍历。

1万+

被折叠的 条评论
为什么被折叠?



