当前位置: 首页 > wzjs >正文

免费网站自助建站长治网站开发

免费网站自助建站,长治网站开发,西安网站建设服务商,个人或企业做网络贸易的主要网站实验目的及要求: 通过深入学习树(Tree)和二叉树(Binary Tree)这两种重要的数据结构,掌握它们的基本概念、性质和操作,提高对树形结构的理解和应用能力。通过本实验,学生将深化对树和…

实验目的及要求:
通过深入学习树(Tree)和二叉树(Binary Tree)这两种重要的数据结构,掌握它们的基本概念、性质和操作,提高对树形结构的理解和应用能力。通过本实验,学生将深化对树和二叉树等数据结构的理解,提高编程能力和问题解决能力,为进一步学习复杂数据结构和算法打下基础。

实验设备环境:
1.微型计算机
2.DEV C++(或其他编译软件)

任务:
编写程序,建立如图 8-10(b) 所示的带头结点的二叉链存储结构二叉树,首先打印该二叉树,然后分别输出按照前序遍历、中序遍历和后序遍历方法访问各结点的信息,最后,查找字符'E是否在该二叉树中。
[输出显示函数设计] 按照某种遍历方法输出二叉树各结点的信息,其实就是把上述各遍历二叉树函数中的 Visit0 设计成输出结点信息的函数。Visit0 设计如下:

void Visit(DataType item){
printf("%c",item);
}


[设计]
设二叉树的结点定义以及带头结点二叉树的初始化操作、左结点插入操作、右结点插入操作、左子树删除操作、右子树删除操作的实现函数存放在文件 BiTree.h 中,设二叉树遍历操作和撤销操作的实现函数存放在文件 BiTreeTraverse.h 中。

代码如下:

头文件BiTree:#include<stdio.h>
#include<stdlib.h>
typedef char DataType;
typedef struct Node {DataType data;struct Node *leftChild;struct Node *rightChild;
} BiTreeNode;
void Initiate(BiTreeNode **root) {*root = (BiTreeNode*)malloc(sizeof(BiTreeNode));(*root)->leftChild = NULL;(*root)->rightChild = NULL;
}
BiTreeNode *InsertLeftNode(BiTreeNode *curr,DataType x) {BiTreeNode *s, *t;if(curr == NULL)return NULL;t = curr->leftChild;s = (BiTreeNode*)malloc(sizeof(BiTreeNode));s->data = x;s->leftChild = t;s->rightChild = NULL;curr->leftChild = s;return curr->leftChild;
}
BiTreeNode *InsertRightNode(BiTreeNode *curr,DataType x) {BiTreeNode *s, *t;if(curr == NULL)return NULL;t = curr->rightChild;s = (BiTreeNode*)malloc(sizeof(BiTreeNode));s->data = x;s->rightChild = t;s->leftChild = NULL;curr->rightChild = s;return curr->rightChild;
}
void Destroy(BiTreeNode **root) {if((*root) != NULL && (*root)->leftChild != NULL)Destroy(&(*root)->leftChild);if((*root) != NULL && (*root)->rightChild != NULL)Destroy(&(*root)->rightChild);free(*root);
}头文件BiTreeTraverse:#include"BiTree.h"
void Visit(DataType item) {printf("%c ",item);
}
void PrintBiTree(BiTreeNode *root, int n) {int i;if(root == NULL)return;PrintBiTree(root->rightChild,n + 1);for(i = 0; i < n-1 ; i++)printf(" ");if(n>0) {printf("---");printf("%c\n",root->data);}PrintBiTree(root->leftChild,n + 1);
}
BiTreeNode *Search(BiTreeNode *root,DataType x) {BiTreeNode *find=NULL;if(root!=NULL) {if(root->data==x)find=root;else {find=Search(root->leftChild,x);if(find==NULL)find=Search(root->rightChild,x);}}return find;
}
void PreOrder(BiTreeNode *t,void Visit(DataType item)) {if(t != NULL) {Visit(t->data);PreOrder(t->leftChild, Visit);PreOrder(t->rightChild, Visit);}
}
void InOrder(BiTreeNode *t,void Visit(DataType item)) {if(t != NULL) {InOrder(t->leftChild, Visit);Visit(t->data);InOrder(t->rightChild, Visit);}
}
void PostOrder(BiTreeNode *t,void Visit(DataType item)) {if(t != NULL) {PostOrder(t->leftChild, Visit);PostOrder(t->rightChild, Visit);Visit(t->data);}
}8-2:#include"BiTreeTraverse.h"
int main() {BiTreeNode *root,*p,*find;char x='E';Initiate(&root);p=InsertLeftNode(root,'A');p=InsertLeftNode(p,'B');p=InsertLeftNode(p,'D');p=InsertRightNode(p,'G');p=InsertRightNode(root->leftChild,'C');InsertLeftNode(p,'E');InsertRightNode(p,'F');PrintBiTree(root,0);printf("前序遍历:");PreOrder(root->leftChild,Visit);printf("\n中序遍历:");InOrder(root->leftChild,Visit);printf("\n后序遍历:");PostOrder(root->leftChild,Visit);find=Search(root,x);if(find!=NULL)printf("\n数据元素%c在二叉树中",x);elseprintf("\n数据元素%c不在二叉树中",x);Destroy(&root);return 0;
}


文章转载自:

http://hLUgRS2M.pbsqr.cn
http://rp6Ble6r.pbsqr.cn
http://2uBkoSS5.pbsqr.cn
http://VtWwQ9AC.pbsqr.cn
http://9zjOm95Z.pbsqr.cn
http://TdsPeVA3.pbsqr.cn
http://3aUVUw6V.pbsqr.cn
http://GImvH87n.pbsqr.cn
http://VOkLSLZg.pbsqr.cn
http://hu4Rt314.pbsqr.cn
http://6a4h5PS5.pbsqr.cn
http://jQF39sPb.pbsqr.cn
http://oilfzjSS.pbsqr.cn
http://8bDCNz3N.pbsqr.cn
http://1AG8xMPA.pbsqr.cn
http://RnoNsLBy.pbsqr.cn
http://tkwoAZQv.pbsqr.cn
http://q484BCPp.pbsqr.cn
http://CqRkyHQ1.pbsqr.cn
http://UwpeD0uq.pbsqr.cn
http://bJXrlctj.pbsqr.cn
http://0hFFMH1L.pbsqr.cn
http://9sO8OuK2.pbsqr.cn
http://jS2juxGT.pbsqr.cn
http://UAIRVjJF.pbsqr.cn
http://3eIIpMwM.pbsqr.cn
http://9tmSeYZ9.pbsqr.cn
http://SbHr48bH.pbsqr.cn
http://hDGiRjzf.pbsqr.cn
http://2TtiC7FA.pbsqr.cn
http://www.dtcms.com/wzjs/718972.html

相关文章:

  • 如皋做网站的政务网站建设相关文件
  • 嘉兴 网站 建设建筑行业新闻资讯
  • 完整网页开发网站建设与优化推广方案
  • 泉州手机网站建设wordpress 存储
  • 网站建设中 模版网站建设类型的好处
  • 企业制作网站网建服务
  • 网站标题符号昆明建设路租房信息昆明租房网站
  • wap网站开发价格网站开发基本工资是多少
  • 牡丹园网站建设店面设计图纸
  • 报名网站怎么做网站建设行业政策
  • 网站建设服务公司有用吗网站开发项目
  • 温州市手机网站制作多少钱网站建设比较好的
  • 读书网站怎么做广州3d网站开发
  • 网站都要交域名费么wordpress添加后台菜单
  • 南宁网站开发软件培训学校网站建设
  • 南通制作企业网站大型门户网站建设美丽
  • 深圳有实力的优化公司中山市企业网站seo营销工具
  • 网站维护外包方案图片抗锯齿网站
  • 有哪些做设计交易网站wordpress淘宝客单页模板下载
  • 兰州建设一个网站多少钱乐清建网站公司哪家好
  • 酒水招商网站大全关于网站制作的指标
  • 广东企业网站建设公司价格玩具网站模板
  • 京东网站设计代码天津大寺网站建设
  • 网站文档设置index.php自媒体发布平台
  • 网站设计登录界面怎么做贪玩原始传奇官方网站
  • 知识付费网站源码免费 开源 企业网站
  • 网站源码下载哪个网站好腾讯云云服务器官网
  • 邢台做移动网站的地方硬件开发工程师面试
  • 找网站公司制作网站广州哪个区封了
  • 苏州设置网站建设事业单位报名网站