树 二叉树基础

来源:互联网 发布:em算法求混合高斯 编辑:程序博客网 时间:2024/05/17 07:00

二叉树模版

#include <iostream>#include<stdio.h>#include<stdlib.h>#include<string.h>using namespace std;typedef struct BiTNode{    char data;    struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;//先序建树int CreateBiTree(BiTree &T){    char data;    scanf("%c",&data);    if(data=='#')        T=NULL;    else{        T=(BiTree)malloc(sizeof(BiTNode));        T->data=data;        CreateBiTree(T->lchild);        CreateBiTree(T->rchild);    }    return 0;}//遍历void visit(BiTree T){    if(T->data!='#')        printf("%c",T->data);}//先序遍历void PreOrder(BiTree T){    if(T!=NULL){        visit(T);        PreOrder(T->lchild);        PreOrder(T->rchild);    }}//中序遍历void InOrder(BiTree T){    if(T!=NULL)    {        InOrder(T->lchild);        visit(T);        InOrder(T->rchild);    }}//后序遍历void PostOrder(BiTree T){    if(T!=NULL){        PostOrder(T->lchild);        PostOrder(T->rchild);        visit(T);    }}int main(){    BiTree T;    CreateBiTree(T);    PreOrder(T);    printf("\n");    InOrder(T);    printf("\n");    PostOrder(T);    printf("\n");    return 0;}



原创粉丝点击