二叉树的类定义_二叉树定义

2020-02-27 其他范文 下载本文

二叉树的类定义由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“二叉树定义”。

实验一、二叉树的类定义

程序说明

1、改程序用二叉链存储结构将其生成一棵二叉树;

2、分别用三种遍历算法将二叉树的遍历序列输出;

3、用括号表示法输出二叉树。

二叉树的形状

A

程序代码

#include “stdafx.h” #include using std::cin;using std::cout;using std::endl;using namespace std;typedef struct CZYP_BTNode {

char data;

struct CZYP_BTNode *left;

//左孩子指针

struct CZYP_BTNode *right;// 右孩子指针

} *BiTree;

void CreateBiTree(BiTree &T){

// 在先序遍历二叉树的过程中输入二叉树的“先序字符串”,// 建立根指针为 T的二叉链表存储结构。在先序字符串中,// 字符'#'表示空树,其它字母字符为结点的数据元素

char ch;

cin >> ch;

if(ch=='#')

{

T=NULL;// 建空树

} else {

T = new CZYP_BTNode;

// “访问”操作为生成根结点

T->data = ch;

CreateBiTree(T->left);

// 递归建(遍历)左子树

CreateBiTree(T->right);

// 递归建(遍历)右子树

}

}

//先序遍历以T为根指针的二叉树 void PreOrder(BiTree &T){

if(T)

{

// T=NULL时,二叉树为空树,不做任何操作

coutdata

PreOrder(T->left);

// 先序遍历左子树

PreOrder(T->right);

// 先序遍历右子树

} }

//中序遍历以T为根指针的二叉树 void InOrder(BiTree &T){

if(T){

// T=NULL时,二叉树为空树,不做任何操作

InOrder(T->left);// 先序遍历左子树

coutdata

InOrder(T->right);// 先序遍历右子树

} } //后序遍历以T为根指针的二叉树 void PostOrder(BiTree &T){

if(T){

// T=NULL时,二叉树为空树,不做任何操作

PostOrder(T->left);// 先序遍历左子树

PostOrder(T->right);// 先序遍历右子树

coutdata

} } //用括号表示法输出二叉树 void DispBTree(BiTree &bt){ if(bt!=NULL){

coutdata;

if(bt->right!=NULL||bt->left!=NULL)

{

cout

DispBTree(bt->left);

if(bt->right!=NULL)cout

DispBTree(bt->right);

cout

} } }

int main(){

cout

BiTree T;

CreateBiTree(T);

cout

PreOrder(T);

cout

InOrder(T);

cout

PostOrder(T);

cout

return(0);}

心得体会

在这次实验中,我花了很多的时间。最重要的体会就是我的知识却是很少。在做这次试验之前我仔细的看了一遍树的三种遍历的伪代码。对程序中用到的递归思想有了更深刻的认识,并且我也借鉴了老师PPT上的很多程序的写法。再者就是我从网上找了一些二叉树的写法,然后通过自己修改、调试。在这里我想说一下,我调试的时候很多错误都不知道从哪里找,后来我就把出现的错误信息输入到baidu里,事实证明这样确实很有效。终于没有错误了。Happy!!

今天调试了一上午,虽说很累,但是我确确实实感到学到了很多知识。不足之处

这个程序的int isEmpty()函数没有实现,需要改天写出来。

一、给定二叉树如下图所示,编程完成下列要求:

1、用二叉链存储结构将其生成一棵二叉树;

2、分别用三种遍历算法将二叉树的遍历序列输出;

3、用括号表示法输出二叉树。G D B E A

C F H 上面是个图。。由于我分不多了,所以不是很多。但是我很想学这方面知识,到时我有分了再给你叫啊。高手帮忙啊。问题补充:

我把图详细说下。A是树根;B、C分别是A的左右孩子;D、E分别是B的左右孩子;G是D的右孩子;F是C的右孩子;H是F的左孩子。相信我已经表达清楚了吧。谢谢各位大虾了。

《二叉树的类定义.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
二叉树的类定义
点击下载文档
相关专题 二叉树定义 定义 二叉树 二叉树定义 定义 二叉树
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文