版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用二叉树实现存储信息用二叉树实现存储信息.txt老子忽悠孩子叫教育,孩子忽悠老子叫欺骗,互相忽悠叫代沟。男人这花花世界,我要用什么颜色来吸引你。#include<iostream>#include<stdlib.h>usingnamespacestd;typedefstruct_studentintid;char20Name;IntAge;intMath;/(数学成绩);/学生结构体structtreeitemstructtreeitem*lchild;structtreeitem*rchild;struct_studentmystudent;/二叉树结构体classS
2、tudentpublic:Student(void);Student(void);voidCreate(structtreeitem*Tnode);/创建voidFind(structtreeitem*tree,inti);查看节点是否存在voidSearch(Student&tree);/查询节点voidChange(structtreeitem*Tnode,inti);/修改voidDeleteNode(structtreeitem*tree,inti);/删除Student*node;/根节点private:booltj;inti_id,i_age,i_math;charc_ch
3、;=.cpp=Student:Student(void)(tj=false;)Student:Student(void)()voidStudent:Create(structtreeitem*Tnode)/创建1(cin>>i_id,c_ch,i_age,i_math;if(id!=null&&ch!="&&age!=null&&math!=null)(struct_student*Ts;Ts->id=i_id;Ts->Name=c_ch;Ts->Age=i_age;Ts->Math=imath;Tn
4、ode=(structtreeitem*)malloc(sizeof(structtreeitem);Tnode->mystudent=Ts;Create(Tnode->lchild);/生成左子树Create(Tnode->rchild);/生成右子树cout<<"CreateComplated!"<<endl;elseTnode=NULL;cout<<"NoCreateComplated!"<<endl;voidBinSTree:Find(structtreeitem*tree,int
5、i)/查找if(tree!=NULL)if(tree->id=i)tj=true;return;if(tree->lchild!=NULL)f(tree->lchild->id=i)tj=true;return;if(tree->rchild!=NULL)f(tree->rchild->id=i)tj=true;return;Find(tree->lchild,i);Find(tree->rchild,i);voidStudent:Search(Student&tree)if(tree!NULL)if(tree->lchild
6、->lchild=NULL&&tree->lchild->rchild=NULL)returntree->lchild;elsef(tree->rchild->lchild=NULL&&tree->rchid->rchild=NULL)returntree->rchild;returnSearch(tree->lchild);returnSearch(tree->rchild);voidStudent二Change(structtreeitem*Tnode,inti)Find(Tnode,i);i
7、f(!tj)cout<<"无止匕节点!"<<endl;elsecin>>i_age,i_math,c_ch;Tnode->mystudent.Age=i_age;Tnode->mystudent.Name=c_ch;Tnode->mystudent.Math=i_math;voidStudent:DeleteNode(structtreeitem*tree,inti)Find(tree,i);if(!tj)cout<<"无止匕节点!"<<endl;return;if(tree!
8、=NULL)if(node->id=i)/要删除的正好是根节点f(node->lchild=NULL&&node->rchild=NULL)/只有一个根节点的情况deletenode;node=NULL;cout<<"已删除节点,当前树为空"<<endl;return;elseif(node->lchild!=NULL&&node->rchild=NULL)/有左孩子没右孩子newtreeitem*p=node;treeitem*dtreeitem(Search(node)->id)
9、;d->lchild=tree->lchild;d->rchild=NULL;node=d;deletep;cout<<"ID值为"<<i<<"的节点已被删除"<<endl;elseif(node->rchild!=NULL&&node->lchild=NULL)/有右孩子没左孩子treeitem*p=node;treeitem*d=newtreeitem(Search(node)->contents);d->lchild=NULL;d->rc
10、hild=tree->rchild;d;node =deletep;cout<<"ID值为"<<i<<"的节点已被删除"<<endl;else/有左、右孩子newtreeitem*p=node;treeitem*dtreeitem(Search(node)->id);d->lchild=tree->lchild;d->child=tree->rchild;node=d;deletep;cout<<"ID值为"<<i<<
11、;"的节点已被删除"<<endl;if(tree->lchild!=NULL)/左孩子,且正是要查找的if(tree->lchild->id=i)/子是要查找的if(tree->lchild->lchildtree->lchild->rchild!=NULL)treeitem*p=tree->lchild;不是根节点,树还有若根节点的左孩=NULL&&tree->lchild=tree->lchild->rchild;deletep;cout<<"ID值为&q
12、uot;<<i<<"的节点已被删除"<<endl;)elsef(tree->lchild->lchild=NULL&&tree->lchild->rchild=NULL)deletetree->lchild;tree->lchild=NULL;cout<<"ID值为"<<i<<"的节点已被删除'<<endl;)elsef(tree->lchild->lchild!=NULL&&
13、;tree->lchild->rchild=NULL)treeitem*p=tree->lchild;tree->lchild=tree->lchild->lchild;deletep;cout<<"ID值为"<<i<<"的节点已被删除"<<endl;elseif(tree->lchild->lchild!=NULL&&tree->lchild->rchild!=NULL)treeitem*p=tree->lchild;tre
14、eitem*d=newtreeitem(Search(node)->id);d->left=tree->lchildt->lchild;d->rchild=tree->lchild->rchild;tree->lchild = d;deletep;return;f(tree->rchild!=NULL)右孩子,且正是要查找的不是根节点,树还有NULL &&f(tree->rchild->id=i)f(tree->rchild->lchildtree->rchild->rchild=NULL
15、)deletetree->rchild;tree->rchild=NULL;cout<<"ID值为"<<i<<"的节点已被删除'<<endl;)elsef(tree->rchild->lchild!=NULL&&tree->rchild->rchild=NULL)treeitem*p=tree->rchild;tree->rchild=tree->rchild->lchild;deletep;cout<<"ID值
16、为"<<i<<"的节点已被删除'<<endl;)elseif(tree->rchild->child=NULL&&tree->rchild->rchild!=NULL)treeitem*p=tree->rchild;tree->rchild=tree->rchild->rchild;deletep;cout<<"ID值为"<<i<<"的节点已被删除"<<endl;elseif(tree->rchild->lchild!=NULL&&tree->rchild->rchild!=NULL)treei
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成年人沉稳心态养成 遇事从容淡定处事课件
- 人权:每个人都有的基本权利课件
- 国际防灾减灾日主题阅读课件
- 2025年广西壮族自治区地理专升本真题及答案
- 2026成都彭州中学高一入学英语分班考试真题含答案
- 2026年安徽省芜湖市高职单招英语真题及参考答案
- 2025年安宁《电缆安装工岗》专业培训试卷
- 2026高等教育时政热点题库含答案
- 2025年湖北(专升本)史地真题及答案
- 呼吸道合胞病毒(RSV)婴幼儿防护课件
- 2026木材干燥技术创新与质量控制标准报告
- 2026广东江门市公安局警务辅助人员招聘161人(第二批)考试备考题库及答案解析
- 26新五年级上册语文第一次月考检测卷1-2单元
- 【2026公开课】Unit 2 My friends PA Let's learn 教学课件
- 第5课 中国人民站起来了 第2课时 课件(内嵌视频)2026-2027学年道德与法治五年级上册统编版
- IEC 60335-2-9-2024 中文版 家用和类似用途电器安全 烤箱、灶、炉及类似器具特殊要求
- 《5. 睡眠要充足》课件2
- 劲性钢骨梁柱施工方案
- 2026年人文知识竞赛通关题库含答案详解【培优】
- 2026中国印刷电路板组装服务行业现状规模与投资前景预测报告
- 危货运输安全全程管控方案
评论
0/150
提交评论