btree.h

来自「严版数据结构。二叉树。功能齐全。经过调试。没有b+b_ 树。(c语言)。」· C头文件 代码 · 共 68 行

H
68
字号
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define STACK_Init_Size 100
#define StackIncrement 10
#define MAXSIZE2 6
#define MAXSIZE1 30

typedef char ElemType;

typedef struct BitNode{
	ElemType data;
	struct BitNode *lchild,*rchild;
}BitNode,*BiTree;

typedef struct{
	unsigned int weight;
	unsigned int parent,lchild,rchild;
}HtNode,*HuffmanTree;
typedef char **HuffmanCode;

void InitBiTree(BiTree &T);//初始化二叉树,即把树根指针置空

void CreateBiTree(BiTree &T,char *a);
//根据a所指向的二叉树广义表字符串建立对应的存储结构

int BiTreeEmpty(BiTree &T);//检查二叉树是否为空

int PreOrder(BiTree T);//先序输出二叉树

int InOrder(BiTree T);//中序输出二叉树

int PostOrder(BiTree T);//后序输出二叉树

void TrarverseBiTree(BiTree T);//选择一种遍历次序输出二叉树中的所有结点

int BiTreeDepth(BiTree T);//求二叉树的深度

int BiTreeCount(BiTree T);//求二叉树中所有结点数

void PrintBiTree(BiTree T);//输出二叉树的广义表表示

void MenuSelect(BiTree T);//二叉树菜单选择


int Search(char ino[],char c);//在中序序列中查询

BiTree CrtBt(char pre[],char ino[],int ps,int is,int n);
//由两个序列构造二叉链表

void menuCrtBt();


BiTree Createhuffman(int a[],int n);//建立哈夫曼树

void Huffmancoding(BiTree T,int len);//对各字符进行哈夫曼编码

int PreOrderha(BiTree T);//先序输出哈夫曼树

int InOrderha(BiTree T);//中序输出哈夫曼树

int PostOrderha(BiTree T);//后序输出哈夫曼树

void PrintBiTreeha(BiTree T);//输出哈夫曼树的广义表表示

void huffmenu();

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?