- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章-2(遍历二叉树)剖析
例6-6 按层次遍历一棵二叉树 二叉树的层次遍历: 规定遍历顺序为从上到下(上层遍 历完才进入下层),从左到右(同一层从左到右进行) 例6-5的树的层次遍历序列为:ABCDEFGHI。 下面用一个一维数组来模拟队列, 实现二叉树的层次遍历。 Void lorder (bitree * t) { bitree *q[maxsize],*p; // maxsize为最大容量 int f,r; // f,r类似于头尾指针 q[1]=t; f=r=1; while (f=r) { p=q[f]; f++; //出队 cout p-data; if(p -lchild!=NULL) { r++; q[r]=p-1child; } //左孩子入队 if (p-rchild!=NULL) { r++; q[r]=p-rchild;} //右孩子入队 } } 定义二叉链表类的C++语言描述:(二叉树的应用) #include iostream using namespace std; template class T struct Btnode { T d; Btnode *lchild; Btnode *rchild; }; 第 * 页 template class T class Binary_Tree { private: BtnodeT *BT; public: Binary_Tree( ) {BT=NULL;return;} void creat_Binary_Tree(T); void pretrav_Binary_Tree( ); void intrav_Binary_Tree( ); void postrav_Binary_Tree( ); }; 第 * 页 template class T void Binary_Tree T :: creat_Binary_Tree(T end) { BtnodeT *p; T x; cinx; if(x==end) return; p=new BtnodeT; p-d=x;p-lchild=NULL;p-rchild=NULL; BT=p; creat(p,1,end); creat(p,2,end); return; } 第 * 页 template class T static creat(BtnodeT *p,int k,T end) { BtnodeT *q; T x; cinx; if(x!=end) {q=new BtnodeT; q-d=x;q-lchild=NULL;q-rchild=NULL; if(k==1) p-lchild=q; if(k==2) p-rchild=q; creat(q,1,end); creat(q,2,end); } return 0; } 第 * 页 template class T void Binary_Tree T ::pretrav_Binary_Tree( ) { BtnodeT *p; p=BT; pretrav(p); coutendl; return; } template class T static pretrav(BtnodeT *p) { if(p!=NULL) {coutp-d ; pretrav(p-lchild); pretrav(p-rchild); } return 0; } 第 * 页 template class T void Binary_Tree T :: intrav_Binary_Tree( ) { BtnodeT *p; p=BT; intrav(p); coutendl; return; } 第 * 页 template class T static intrav(BtnodeT *p) { if(p!=NULL) { intrav(p-lchild); coutp-d ; intrav(p-rchild); } return 0; } 第 * 页 template class T void Binary_Tree T ::postrav_Binary_Tree( )
您可能关注的文档
最近下载
- 玉米全程机械化技术课件.pptx VIP
- 大学生职业规划大赛《舞蹈学专业》生涯发展展示PPT.pptx
- 2024中国网球市场和网球人群洞察报告.pdf VIP
- PMC部经理任命书.docx VIP
- (高清版)B-T 4798.3-2023 环境条件分类 环境参数组分类及其严酷程度分级 第3部分:有气候防护场所固定使用.pdf VIP
- 矿物绝缘电缆.pptx VIP
- 2025年杭州青少年活动中心公开招聘工作人员2人笔试备考试题及答案解析.docx VIP
- GB 19577-2024 热泵和冷水机组能效限定值及能效等级.docx VIP
- CCAA认证通用基础合格评定[98].pdf VIP
- 《网店运营与管理》电子商务专业全套教学课件.pptx
文档评论(0)