📄 ecbtree.h
字号:
#ifndef ECBTREE_H
#define ECBTREE_H
#define EBTreeType long
struct BinTreeNode;
typedef struct BinTreeNode* PBinTreeNode;
struct BinTreeNode
{
EBTreeType info;
PBinTreeNode llink;
PBinTreeNode rlink;
};
typedef struct BinTreeNode* BinTree;
typedef BinTree* PBinTree;
/*Start of Find Path Ulti Value*/
int gConsPos;
int gFind;
char* gFindList;
int findLen;
PBinTreeNode targetNode;
/*End of Find Path Ulti Value*/
extern PBinTree consBTree(EBTreeType* initList);
extern PBinTreeNode consRestBTree(EBTreeType* initList);
extern void findPath(PBinTreeNode inNode,PBinTreeNode searchNode);
extern void prePanDuan(PBinTreeNode inNode,PBinTreeNode searchNode);
extern void preOrder(PBinTreeNode inNode);
extern void preVisit(EBTreeType info);
extern void locateNode(PBinTreeNode inNode,EBTreeType inInfo,PBinTree targetNode);
extern void preOrderUnStack(PBinTreeNode inNode);
/*Haffman Tree Ver1*/
#define MAXCHAR 30000
#define MAXNODE 300
#define MAXNUM 150
#define InfoType char
struct HtNode
{
EBTreeType ww;
char info;
int parentIndex;
int llinkIndex;
int rlinkIndex;
};
struct HtTree
{
struct HtNode ht[MAXNODE];
int rootIndex;
};
typedef struct HtTree* PHtTree;
typedef struct
{
char asciiCode;
unsigned long haffCode;
int haffCodeLen;
}HaffCode;
extern PHtTree consHtTree(EBTreeType* initList);
extern PHtTree haffmanAlgorithm(int m,EBTreeType* w);
extern void preHtOrder(PHtTree inTree,int rootIndex);
extern void preHtVisit(InfoType info);
extern void preHaffListMake(PHtTree inTree,int rootIndex,unsigned youBiao,int sDepth,HaffCode* inList);
/*End of Defination of Haffman Tree*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -