关闭

二叉树的建立和遍历

238人阅读 评论(0) 收藏 举报
分类:
//建立二叉树并输出每个字符所在的层数

#include<stdio.h>
#include<stdlib.h>

typedef char ElemType;

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层\n",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
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

根据先序和中序或后序和中序建立二叉树及树的遍历

二叉树的建立用了递归的思想,本质上是:  先建立根节点--->再建立左子树----->再建立右子树 二叉树的遍历分为先序遍历,中序遍历后序遍历,还有层序遍历    注意无论先序中序还是后序都是先遍历左...
  • u010667082
  • u010667082
  • 2015-05-30 14:49
  • 4625

C++实现二叉树的建立和三种递归遍历

二叉树是一种常见的数据结构,二叉树的遍历也是家常便饭的事了,这里仅仅写出一个完整的可以运行的C++代码来随便建立一个如下图所示的二叉树,建一棵二叉树是实现二叉树各种操作的基础,下面的程序也很简单,这只...
  • JXH_123
  • JXH_123
  • 2014-06-30 20:16
  • 2671

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

这两天在看树的部分,先总结一下二叉树。 什么是树? 树也是一种数据结构,是由n个结点组成的具有层次关系的集合。树由根结点和子节点组成,与现实生活中的树不同,这里的树,根结点是在最上面的,叶子结...
  • hsk256
  • hsk256
  • 2015-05-23 13:33
  • 2793

二叉树建立遍历

  • 2018-01-03 09:30
  • 769B
  • 下载

二叉树的建立与遍历

  • 2014-04-22 20:00
  • 1KB
  • 下载

二叉树的建立查找遍历删除的实现

  • 2013-11-14 11:09
  • 586KB
  • 下载

二叉树的建立与遍历

  • 2014-07-08 00:17
  • 139KB
  • 下载

二叉树的建立与遍历

  • 2012-12-19 13:21
  • 5KB
  • 下载

二叉树的3种遍历及哈夫曼树的建立及哈夫曼编码

  • 2017-11-19 12:53
  • 5KB
  • 下载

二叉树的非递归建立,前序、中序、后序遍历

  • 2017-07-17 20:18
  • 5KB
  • 下载
    个人资料
    • 访问:46806次
    • 积分:1028
    • 等级:
    • 排名:千里之外
    • 原创:53篇
    • 转载:23篇
    • 译文:0篇
    • 评论:4条
    最新评论