数据结构与算法之——二叉树的创建及遍历

来源:互联网 发布:mysql触发器 编辑:程序博客网 时间:2024/06/14 11:46

C语言二叉树的创建及遍历

创建与遍历都是是采用递归的思想
在遍历的同时还输出了结点所在二叉树的层数

// ctest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<stdio.h>#include<stdlib.h>typedef struct BiTNode{    char data;    struct BiTNode *lchild, *rchild;}BiTNode,*BiTree;//创建一棵二叉树void createBiTree(BiTree *T){    char c;    scanf("%c", &c);    if (c == ' '){        *T = NULL;    }    else{        *T = (BiTNode*)malloc(sizeof(BiTNode));        (*T)->data = c;        createBiTree(&(*T)->lchild);        createBiTree(&(*T)->rchild);    }}//输出结点以及该结点所在的层数void visit(char c, int level){    printf("%c%d", c, level);}//前序遍历二叉树void PreOrderTraverse(BiTree T,int level){    if (T){        visit(T->data, level);        PreOrderTraverse(T->lchild, level + 1);        PreOrderTraverse(T->rchild, level + 1);    }}int main(){    int level = 1;    BiTree T = NULL;    createBiTree(&T);    PreOrderTraverse(T, level);    return 0;}
0 0
原创粉丝点击