资源简介
构建二叉树、输出二叉树、求树深、复制二叉树
前序遍历
代码片段和文件信息
/*
构建二叉树、输出二叉树、求树深、复制二叉树 7
*/
#include
#include
typedef int DataType;
typedef struct BinTreeNode *PBinTreeNode;
typedef struct BinTreeNode{
DataType info;
PBinTreeNode lchild;
PBinTreeNode rchild;
}*BinTree;
int hdepth;
BinTree Create();
void print(BinTree t);
int Depth(BinTree tint hint depth);
BinTree GetBinTreeNode(DataType infostruct BinTreeNode lptrstruct BinTreeNode rptr);
BinTree CopyTree(BinTree t);
int main()
{
h = 1;
depth = 1;
BinTree tcopyt;
t = Create();
print(t);
printf(“\n“);
depth = Depth(thdepth);
copyt = CopyTree(t);
print(copyt);
printf(“\n%d\n“depth);
system(“PAUSE“);
return 0;
}
BinTree Create()
{
BinTree t;
DataType data;
if(scanf(“%c“&data) && data == ‘#‘)
t = NULL;
else{
t = (BinTree)malloc(sizeof(struct BinTreeNode));
t->info = data;
t->lchild = Create();
t->rchild = Create();
}
return t;
}
void print(BinTree t)
{
if(t){
printf(“%c“t->info);
print(t->lchild);
print(t->rchild);
}
}
int Depth(BinTree tint hint depth)
{
int ab;
if(t){
if(h > depth)depth = h;
a = Depth(t->lchildh + 1depth);
b = Depth(t->rchildh + 1depth);
depth = (a > b)? a:b;
}
return depth;
}
BinTree GetBinTreeNode(DataType infoPBinTreeNode lptrPBinTreeNode rptr)
{
BinTree newtnode;
newtnode = (BinTree)malloc(sizeof(struct BinTreeNode));
newtnode->info = info;
newtnode->lchild = lptr;
newtnode->rchild = rptr;
return newtnode;
}
BinTree CopyTree(BinTree t)
{
BinTree newtnode;
BinTree newlptrnewrptr;
newlptr = (BinTree)malloc(sizeof(struct BinTreeNode));
newrptr = (BinTree)malloc(sizeof(struct BinTreeNode));
if(!t)return NULL;
else{
if(t->lchild)newlptr = CopyTree(t->lchild);
else newlptr = NULL;
if(t->rchild)newrptr = CopyTree(t->rchild);
else newrptr = NULL;
newtnode = GetBinTreeNode(t->infonewlptrnewrptr);
return newtnode;
}
}
/*
Inout
abdh###e##cf##g##
*/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2427 2009-02-05 21:22 scanf & depth (2).cpp
文件 16801 2009-02-05 17:04 scanf & depth (2).exe
----------- --------- ---------- ----- ----
19228 2
相关资源
- 定义一个Date 类,数据成员有year,m
- C++模拟退火算法求二维函数极值
- C++对任意阶的实对称矩阵求特征值和
- 以邻接表创建图实现图的基本操作
- 遗传算法求解中国旅行商问题C语言
- c++利用遗传算法求解函数优化问题
- C语言数据结构迷宫求解的源码
- 用c++设计一个日期类Date,包括年、月
- 演示一个不断旋转、缩放和移动的正
- 孩子兄弟链表法表示二叉树C++
- 软件学院编译原理第二次上机求firs
- C语言编写的高精度求积分函数
- 二叉树成绩管理系统
- 求陪集分解
- 数据结构课程设计 带括号的算术表达
- Q756748.zip 用VS2010MFC做一道可视化题目
- 职工管理系统数据结构)
- 二叉树的C语言实现,实现二叉树基本
- 遗传算法求函数最值(C语言实现)
- 基本蚁群算法C语言,比较详细!
- 无向图 破圈法求最小生成树
- 动态规划实现最佳加法表达式求最小
- Stereo Match 立体匹配算法,包括SSD SA
- 用C++栈写的中缀表达式求解
- 数据结构的二叉树用C语言实现的代码
- C语言实现矩阵的行阶梯,行最简变换
- 哈夫曼树设计——利用哈夫曼编码进
- 欧拉法及改进的欧拉法求解方程
- 求解一元四次方程
- C语言实现二叉树的创建、插入、删除
评论
共有 条评论