二叉树的创建,遍历和释放
来源:互联网 发布:外国人吃燕窝吗 知乎 编辑:程序博客网 时间:2024/05/19 12:11
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
// 先序遍历二叉树,把所有节点都用空节点填充
// 用+表示空节点
static char * str = "AB+C+D++EF++GH+IJ++++";
// 二叉树节点结构
typedef struct tag_BinTree
{
char value;
struct tag_BinTree * left;
struct tag_BinTree * right;
tag_BinTree()
{
value = 0x00;
left = 0;
right = 0;
}
}BinTree;
// 创建二叉树
void createBinTree(BinTree * & node)
{
static int counter = 0;
if (counter >= strlen(str) || str[counter] == '+' || !isalpha(str[counter]))
{
if (str[counter] == '+')
{
counter ++;
}
return;
}
else
{
node = new BinTree;
node->value = str[counter];
counter ++;
createBinTree(node->left);
createBinTree(node->right);
}
}
// 中序遍历,打印二叉树
void dumpBinTree(BinTree * root)
{
if (root)
{
dumpBinTree(root->left);
printf("%c " , root->value);
dumpBinTree(root->right);
}
else
{
return;
}
}
// 后序遍历释放二叉树
void destroyBinTree(BinTree * root)
{
if (root)
{
destroyBinTree(root->left);
destroyBinTree(root->right);
delete root;
root = 0;
}
}
- 二叉树的创建,遍历和释放
- 二叉树 创建 释放 遍历
- 二叉树的创建和释放
- 二叉搜索树的创建和遍历
- 简单的二叉树创建和遍历
- 二叉树的创建和遍历
- 二叉树的创建和遍历
- 二叉树的创建和遍历
- 二叉树的创建和遍历
- 二叉树的创建和遍历
- 数据结构---二叉树的创建和遍历
- 二叉树的创建和遍历
- 二叉树的创建和遍历
- 二叉树的创建和前序中序后序遍历
- 二叉树的创建和遍历
- 二叉树的创建和遍历
- 二叉树的创建和遍历
- 二叉查找树的创建和遍历
- 【转】代码格式化工具Astyle
- FOSVOS低成本适合5节含5节以上的串联电池组充电管理新方案
- [转]两种“动态调试程序”的方法
- Visual C++ 2008 Express Edition开发SDK应用程序
- CETK环境搭建及说明——转载
- 二叉树的创建,遍历和释放
- 不知道怎么开始的,想结束也很难
- Delphi下如何使程序在Vista上用管理员权限运行
- COM套间对.NET程序使用COM对象的影响(上)
- org.hibernate.dialect.MySQLInnoDBDialect与org.hibernate.dialect.MySQLMyISAMDialect
- 用"SELECT TOP"实现分页
- jBPM 与项目的适用性探讨
- 模糊测试
- 文件检测大师3.X