⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l61.cpp

📁 这里面包括数据结构多数的算法
💻 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 + -