📄 l61.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
//二叉树的链式存储表示
typedef char DataType; //应由用户定义DataType的实际类型
typedef struct node
{ DataType data;
struct node *lchild, *rchild; //左右孩子指针
} BinTNode; //结点类型
typedef BinTNode *BinTree;
void main()
{
void ListBinTree(BinTree T); //用广义表表示二叉树
void DisplayBinTree(BinTree T); //用凹入表表示二叉树
void CreateBinTree(BinTree *T); //构造二叉链表
void Preorder(BinTree T); //前序遍历二叉树
void Inorder(BinTree T); //中序遍历二叉树
void Postorder(BinTree T); //后序遍历二叉树
int nodes(BinTree T); //计算总结点数
int leafs(BinTree T); //计算总叶子数
BinTree swap(BinTree T); //交换左右子树
BinTree T;
printf("请输入先序序列(虚结点用空格表示):\n");
CreateBinTree(&T);
ListBinTree(T);
printf("\n");
DisplayBinTree(T);
printf("前序遍历:\n");
Preorder(T);
printf("\n");
printf("中序遍历:\n");
Inorder(T);
printf("\n");
printf("后序遍历:\n");
Postorder(T);
printf("\n");
printf("二叉树的总结点数为%d\n",nodes(T));
printf("二叉树的总叶子结点数为%d\n",leafs(T));
T=swap(T);
ListBinTree(T);
printf("\n");
}
//构造二叉链表
void CreateBinTree(BinTree *T)
{
//在此插入必要的语句
}
//用广义表表示二叉树
void ListBinTree(BinTree T)
{
//在此插入必要的语句
}
//用凹入表表示二叉树
void DisplayBinTree(BinTree T)
{
//在此插入必要的语句
}
//前序遍历二叉树
void Preorder(BinTree T)
{
//在此插入必要的语句
}
//中序遍历二叉树
void Inorder(BinTree T)
{
//在此插入必要的语句
}
//后序遍历二叉树
void Postorder(BinTree T)
{
//在此插入必要的语句
}
//计算总结点数
int nodes(BinTree T)
{
//在此插入必要的语句
}
//计算总叶子数
int leafs(BinTree T)
{
//在此插入必要的语句
}
//交换左右子树
BinTree swap(BinTree T)
{
//在此插入必要的语句
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -