二叉树的存储结构与前序遍历(中序/后序原理一样)
2015-07-16 08:46
316 查看
/*..............................
功能:二叉树的存储结构
二叉树的前序遍历
时间:2015-07-16
人员:西瓜太郎
...........................*/
#include <stdlib.h>
#include <stdio.h>
typedef char ElementType;
typedef struct BiTNode
{
ElementType data;
struct BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
//默认前序输入二叉树
void InitBiTree(BiTree *T)
{
ElementType c;
scanf("%c",&c);
if(' ' == c)
{
(*T) = NULL;
}
else
{
(*T) = (BiTree )malloc(sizeof(struct BiTNode));
(*T)->data = c;
InitBiTree(&(*T)->lchild);
InitBiTree(&(*T)->rchild);
}
}
void visit(ElementType data, int leave)
{
printf("结点:%c在第:%d层\n",data, leave);
}
void PreOrderTraverse(BiTree T,int leave)
{
if( NULL != T)
{
visit(T->data, leave);
PreOrderTraverse(T->lchild, leave + 1);
PreOrderTraverse(T->rchild, leave + 1);
}
}
int main()
{
BiTree T;
InitBiTree(&T);
PreOrderTraverse(T,1);
return 0;
}
功能:二叉树的存储结构
二叉树的前序遍历
时间:2015-07-16
人员:西瓜太郎
...........................*/
#include <stdlib.h>
#include <stdio.h>
typedef char ElementType;
typedef struct BiTNode
{
ElementType data;
struct BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
//默认前序输入二叉树
void InitBiTree(BiTree *T)
{
ElementType c;
scanf("%c",&c);
if(' ' == c)
{
(*T) = NULL;
}
else
{
(*T) = (BiTree )malloc(sizeof(struct BiTNode));
(*T)->data = c;
InitBiTree(&(*T)->lchild);
InitBiTree(&(*T)->rchild);
}
}
void visit(ElementType data, int leave)
{
printf("结点:%c在第:%d层\n",data, leave);
}
void PreOrderTraverse(BiTree T,int leave)
{
if( NULL != T)
{
visit(T->data, leave);
PreOrderTraverse(T->lchild, leave + 1);
PreOrderTraverse(T->rchild, leave + 1);
}
}
int main()
{
BiTree T;
InitBiTree(&T);
PreOrderTraverse(T,1);
return 0;
}
相关文章推荐
- AVL树-自平衡二叉查找树(Java实现)
- Tomcat端口被占用解决方法(不用重启)
- 注册表的组织结构
- 文件遍历排序函数
- “传奇”图象数据存储方式
- Lua 学习笔记之C API 遍历 Table实现代码
- Lua教程(七):数据结构详解
- SQLSERVER的非聚集索引结构深度理解
- 调整SQLServer2000运行中数据库结构
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- 超大数据量存储常用数据库分表分库算法总结
- C#基础语法:结构和类区别详解
- 深入c# 类和结构的区别总结详解
- C#数据结构揭秘一
- c#结构和类的相关介绍
- C#中遍历Hashtable的4种方法
- C#中结构(struct)的部分初始化和完全初始化实例分析
- C#中类与结构的区别实例分析
- C#枚举类型与结构类型实例解析
- SQL Server误区30日谈 第18天 有关FileStream的存储,垃圾回收以及其它