第六次实验报告.doc贵州大学实验报告学院:计算机科学与信息 专业:网络工程班级:网络111姓名学号实验组实验六实验时间2013、06、01指导教师叶洁成绩实验项H名称线性表的链式存储实验n的掌握二叉树的存储实现。掌握二叉树的遍历思想。掌握二叉树的常见算法的程序实现。实验环境在visualstuclio2010_t实现程序设计实验内容1、 建立二叉树。2、 二叉树的三种遍历。3、 求二叉树叶子结点的个数。4、 求二叉树的深度。5、 显示二叉树表示二叉树的节点dat3为根节点,left为左子树指针,right为右子树指针实验数据#include<iostream>usingnamespacestd;typedefcharElemType;〃二义链表结点定义structBTreeNode{ElemTypedata;BTreeNode right;};〃(odc*&bl){bt=NULL;}〃按先序次序创建•棵二叉树voidcreatbtree(BTreeNode*&bt){ElemTypech;scanf(“%c”,&ch);if(ch=='#')bt=NULL;else{if(!(bt=newBTreeNode))exit(-2);//bt=newBTreeNode;bt->data=ch;ereatbtree(bt->left);creatbtree(bt->right);}}〃先序遍历二叉树voidpreorder(BTreeNode*bt){if(bt!=NULL){cout«bt->data«n”;preorder(bt->left);preorder(bt->right);}}〃屮序遍历二义树voidinorder(BTreeNode*bt){if(bt!=NULL){inorder(bt->left);cout«bt->data«Hinorder(bt->right);}}〃后序遍历二叉树voidpostordcr(odc*bt){if(bt!=NULL){postorder(bt->left);postorder(bt->right);cout«bt->data«nn;})〃求二叉树中元索个数intbinodecount(BTreeNode*bt){if(bt==NULL)return0;elsereturn(binodecount(bt->left)+binodecount(bt->right)+1);}〃求二叉树的深度intdepthbtree(BTreeNode*bt){if(bt==NULL)return0;else{intdep1=depthbtree(bt->left);intdep2=depthbtree(bt->right);if(depl>dep2)returndep1+1;elsereturndep2+1;〃显示二叉树(广义表)voidprintbtree(BTreeNode*bt){if(bt!=NULL){printf("%cu,bt->data);if((bt->lcft!=NULL)ll(bl->right!=NULL)){printfC'(M);printbtree(bt->left);if(bt->right!=NULL)printfCV);printbtree(bt->right);print")”);voidmenu(BTr
第六次实验报告 来自淘豆网m.daumloan.com转载请标明出处.