首页 > 其他 > 详细

先序建树与层次遍历

时间:2020-04-14 23:19:03      阅读:104      评论:0      收藏:0      [点我收藏+]
#include<iostream>
#include<queue>
using namespace std;
#define ElemType char
typedef struct BiTNode{
    ElemType data;
    struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void CreateBiTree(BiTree &T){
    char ch;cin>>ch;
    if(ch==#){
        T=NULL;return;
    }
    T=new BiTNode;
    T->data=ch;
    CreateBiTree(T->lchild);
    CreateBiTree(T->rchild);
    
}
void LevelOrder(BiTree T){
    queue<BiTree> q;
    q.push(T);
    BiTree t;
    while(!q.empty()){
        t=q.front();
        cout<<t->data<<" ";
        q.pop();
        if(t->lchild)q.push(t->lchild);
        if(t->rchild)q.push(t->rchild);
    }
    cout<<endl;
}
void PreOrder(BiTree T){
    if(T){
        cout<<T->data<<" ";
        PreOrder(T->lchild);
        PreOrder(T->rchild);
    }
} 
int main(){
    BiTree root;
    CreateBiTree(root);
    LevelOrder(root);
    PreOrder(root);
    cout<<endl;
    return 0;
} 

 

先序建树与层次遍历

原文:https://www.cnblogs.com/lyt888/p/12701906.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!