小甲鱼数据结构和算法-----二叉树的构建和前序遍历
Posted byerHu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小甲鱼数据结构和算法-----二叉树的构建和前序遍历相关的知识,希望对你有一定的参考价值。
题目要求:建立二叉树并输出每个字符所在的层数。如下图要求输出
A 在第一层
B、C 在第二层
D、E在第三层
代码如下:
#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 层 \\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; T = NULL; CreateBiTree(&T); PreOrderTraverse(T,level); return 0; }
运行结果截图:
以上是关于小甲鱼数据结构和算法-----二叉树的构建和前序遍历的主要内容,如果未能解决你的问题,请参考以下文章
已知一棵二叉树的中序和前序序列如下,求该二叉树的后序序列,并画出二叉树