?? huffmantree.h
字號:
#pragma once
#include "windows.h"
#include "wchar.h"
#include "limits.h"
#define SYMBOL_TYPE char
#define SYMBOL_SIZE (sizeof(SYMBOL_TYPE) * 8)
#define SYMBOL_NUMBER (UCHAR_MAX + 1)
//#define SYMBOL_NUMBER 65556
typedef struct nodH
{
nodH()
{
pLeftChild = NULL;
pRightChild = NULL;
pParrent = NULL;
nrAparition = 1;
symbol = L'';
}
nodH *pLeftChild;
nodH *pRightChild;
nodH *pParrent;
unsigned int nrAparition;
SYMBOL_TYPE symbol;
}NOD_HUFFMAN;
class HuffmanTree
{
public:
// Constructor
HuffmanTree(void);
// Destructor
~HuffmanTree(void);
public:
// Insert a symbol
void Insert(SYMBOL_TYPE symbol);
// Verify the property of sibling
void Sibling();
// Change 2 nods
void ChangeNods(NOD_HUFFMAN* &nod1, NOD_HUFFMAN* &nod2);
public:
//Retrurn the root
NOD_HUFFMAN* GetRoot() const;
friend class Encoder;
private:
// The Huffman Tree root
NOD_HUFFMAN* m_pRoot;
// The Huffman Tree leaves
NOD_HUFFMAN* m_leaves[SYMBOL_NUMBER];
unsigned int nrLeaves;
};
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -