ecbtree.h

来自「根据ascii码文件中各ascii字符出现的频率情况创建Haffman树」· C头文件 代码 · 共 83 行

H
83
字号
#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 + =
减小字号Ctrl + -
显示快捷键?