平衡二叉树c语言代码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
平衡二叉树c语言代码

平衡二叉树c语言代码 [ /* 程序作者: monkeylee 程序名称: 二叉树平衡因子 程序功能: 随机生成用户要求个数的整数,生成二叉树(无重复), 可以进行生成、遍历、查找二叉树,而且进行动态的查找, 如果没有找到节点就把这个值接到树上 能够显示节点的产生顺序、平衡因子(失败),节点值 */ #includestdio.h #includestdlib.h #includetime.h //自引用结构 struct treeNode { int data; //节点值 int balance; //平衡因子 int order; //生成顺序 struct treeNode *left; //指向左子树的指针 struct treeNode *right; //指向右子树的指针 struct treeNode *father; }; /*结构定义END */ typedef struct treeNode TreeNode; typedef TreeNode * TreeNodePtr; /*函数原型*/ void insertNode(TreeNodePtr rootPtr,int value,int order); //插入节点 void inOrder(TreeNodePtr rootPtr); //中序遍历 int instructions(); //菜单 void search(TreeNodePtr rootPtr,int value,int n); //查找 //---------------------------------------------------------------------------------- /*主函数*/ void main() { int item; //要操作的数据 int choices; //存储随机制的变量 int i; //循环计数器 int n; //节点个数 TreeNodePtr rootPtr=NULL; //树在开始的时候为空 while(choices=instructions()) { switch(choices) { case 1: rootPtr=NULL; printf(输入要生成二叉树的节点数); scanf(%d,n); if(n=0) { printf(输入节点数必须大于等于1\n); break; } srand(time(NULL)); for(i=1;i=n;i++) { item=rand()%(10*n); insertNode(rootPtr,item,i); }/*END for*/ break; case 2: printf(中序遍历:\n); if(rootPtr==NULL) break; inOrder(rootPtr); printf(\n); break; case 3: printf(输入要找的数); scanf(%d,item); search(rootPtr,item,i); i++; break; default: printf(请输入正确的选项!\n); }/*END switch*/ } printf(\n); }/*END main函数*/ //---------------------------------------------------------------------------------- int instructions() { int choice; printf(\n菜单: 1.生成 2.遍历 3.查找 0.退出\n); scanf(%d,choice); return(choice); }/*END instructions*/ //---------------------------------------------------------------------------------- /*将节点插入到树中*/ void insertNode(TreeNodePtr rootPtr,int value,int order) { //生成新节点,找到一个要连的地方 TreeNodePtr currentPtr=rootPtr; TreeNodePtr newPtr; TreeNodePtr prePtr=root

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档