• 大小: 5KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-02
  • 语言: C/C++
  • 标签:

资源简介

建立一棵二叉树,试编程实现二叉树的如下基本操作: 1. 按先序序列构造一棵二叉链表表示的二叉树T; 2. 对这棵二叉树进行遍历:先序、中序、后序以及层次遍历,分别输出结点的遍历序列; 3. 求二叉树的深度/结点数目/叶结点数目; 4. 将二叉树每个结点的左右子树交换位置。

资源截图

代码片段和文件信息

#include
#include 
#define exit 0
using namespace std;
typedef struct BiTNode{
char data;
struct BiTNode *lchild*rchild;//左右孩子指针
}BiTNode*BiTree;
void CreateBiTree(BiTree &T)
{
//按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树
//构造二叉链表表示的二叉树
char ch;
cin>>ch;
if(ch==‘#‘)T=NULL;
else
{
  T=new BiTNode;
  if(!T)exit(1);
  T->data=ch;                    //生成根结点
  CreateBiTree(T->lchild);
  CreateBiTree(T->rchild);
}
}

void PreOrderTraverse(BiTree T)
{//先序遍历二叉树
if(T!=NULL) {
   cout<data;
   PreOrderTraverse(T->lchild); 
   PreOrderTraverse(T->rchild);
}
}
void InOrderTraverse(BiTree T)
{//中序遍历二叉树
if(T!=NULL) 
{
   InOrderTraverse(T->lchild);
   cout<data; 
   InOrderTraverse(T->rchild);
}
}

void PostOrderTraverse(BiTree T

评论

共有 条评论