树的遍历

来源:互联网 发布:mac安装tomcat 编辑:程序博客网 时间:2024/06/07 05:32

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

#include <stdio.h>#include <stdlib.h>#include <memory.h>//二叉链表示法struct _bitTree{    int data;    struct _bitTree * lchild, *rchild;};typedef struct _bitTree BiTNode;typedef struct _bitTree* BiTreee;/*先序遍历*/void preOrder(BiTNode * root){    /*先根节点*/    if (root == NULL)    {        return;    }    printf("%d", root->data);    /*遍历左子树*/    preOrder(root->lchild);    /*遍历右子树*/    preOrder(root->rchild);}/*中序遍历*/void inOrder(BiTNode * root){    if (root == NULL)    {        return;    }    /*遍历左子树*/    inOrder(root->lchild);    /*根节点*/    printf("%d", root->data);    /*遍历右子树*/    inOrder(root->rchild);}/*后序遍历*/void postOrder(BiTNode * root){    if (root == NULL)    {        return;    }    /*遍历左子树*/    postOrder(root->lchild);    /*遍历右子树*/    postOrder(root->rchild);    /*根节点*/    printf("%d", root->data);}int main(void){    BiTNode t1, t2, t3, t4, t5;    memset(&t1, 0, sizeof(BiTNode));    memset(&t2, 0, sizeof(BiTNode));    memset(&t3, 0, sizeof(BiTNode));    memset(&t4, 0, sizeof(BiTNode));    memset(&t5, 0, sizeof(BiTNode));    t1.data = 1;    t2.data = 2;    t3.data = 3;    t4.data = 4;    t5.data = 5;    t1.lchild = &t2;    t1.rchild = &t3;    t2.lchild = &t4;    t3.lchild = &t5;    preOrder(&t1);    printf("pre \n");    inOrder(&t1);    printf("in \n");    postOrder(&t1);    printf("post \n");    system("pause");    return 0;}