#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 发布