资料介绍
2-8
给定一棵二叉树的前序序列pre[low.1.hign1]和中序序列in[low2..hign2],试以二叉链
#include《stdio.h》
#include《stdlib.h》
#define size 100
typedef struct node//定义结点
{
char data;
struct node *lchild,*rchild;
} JD,*BitTree;
int search(char ino[],char pre)//在中序序列中查找先序中该元素所在位置
{
int i=0;
while(ino[i]!=pre&&ino[i])
i++;
if(ino[i]==pre)
return i;
else
return -1;
}
void CrtBT(BitTree &T,char pre[],char ino[],int ps,int is,int n)/*递归算法构造函数,建立二叉链表*/
{
int k;
if(n==0)
T=NULL;
else
{
k=search(ino,pre[ps]);
if(k==-1)
puts(“error!”);
else
{
T=(JD*)malloc(sizeof(JD));
T-》data=pre[ps];
if(k==is)
T-》lchild=NULL;
else
CrtBT(T-》lchild,pre,ino,ps+1,is,k-is);
if(k==is+n-1)
T-》rchild=NULL;
else
CrtBT(T-》rchild,pre,ino,ps+1+(k-is),k+1,n-(k-is)-1);
}
}
}
//先序遍历
void PreOrder(BitTree T)
{
if(T)
{
printf(“%c”,T-》data);
PreOrder(T-》lchild);
PreOrder(T-》rchild);
}
}
//中序遍历
void InOrder(BitTree T)
{
if(T)
{
InOrder(T-》lchild);
printf(“%c”,T-》data);
InOrder(T-》rchild);
}
}
//后序遍历(左-》右-》根),
int PostOrder(BitTree T)
{
if(T)
{
PostOrder(T-》lchild);
PostOrder(T-》rchild);
printf(“%c”,T-》data);
}
else
return 1;
}
void main()
{
char pre[size],ino[size];
puts(“输入先序序列:”);
gets(pre);
puts(“输入中序序列:”);
gets(ino);
BitTree T=NULL;
CrtBT(T,pre,ino,0,0,7);
printf(“先序遍历的二叉树:”);
PreOrder(T);
printf(“\n”);
printf(“中序遍历的二叉树:”);
InOrder(T);
printf(“\n”);
printf(“后序遍历的二叉树:”);
PostOrder(T);
printf(“\n”);
}
- [ 爱找茬 ]都是C语言,单片机C语言和普通的C语言究竟有什么差异呢?
- 标准c语言与嵌入式,嵌入式C语言与C语言的区别
- 怎样学习C语言 7次下载
- C语言设计模式的程序资料合集 4次下载
- C语言的简单介绍 1次下载
- 什么是C语言?C语言有哪些优势及C语言的应用资料说明
- C语言程序设计教程之C语言基础的详细资料概述 66次下载
- C51单片机C语言与标准C语言有什么区别? 134次下载
- 如何提高你的C语言编程能力?带你提升C语言编程能力 36次下载
- C语言深度剖析 18次下载
- C语言入门经典-C语言编程 111次下载
- C语言经典算法 27次下载
- C语言简单概述 0次下载
- C语言基础教材
- C语言2.0
- 详解C语言指针底层基本原理 1030次阅读
- 深入探索Linux中的C语言 1006次阅读
- C语言的循环与分支 713次阅读
- C语言的变量-2 444次阅读
- C语言的发展历史 2483次阅读
- C语言语法扩展 798次阅读
- 怎么用C语言实现多态 1740次阅读
- C语言入门基础知识科普 4555次阅读
- 详解C语言中的短路现象 3746次阅读
- C语言模拟实现strcmp函数 2501次阅读
- 应该如何学习C语言?给学习C语言的同学几点建议 2857次阅读
- C语言和指针之间的关系分析 1057次阅读
- C语言的简介和特点说明 7698次阅读
- c语言入门书籍推荐 2.7w次阅读
- C语言的运行环境有哪些_哪些是值得推荐的_C语言常用开发环境详解 10.5w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论