我建立了霍夫曼樹。但我不知道如何將代碼存儲到位,因爲我不知道如何處理可變長度。霍夫曼存儲位代碼
我想創建一個表,存儲huffman代碼位打印編碼的結果。
我不能使用像bitset這樣的STL包含器。
我已經嘗試這樣的
void traverse(string code = "")const
{
if(frequency == 0) return;
if (left) {
left->traverse(code + '0');
right->traverse(code + '1');
}
else {//leaf node
huffmanTable[ch] = code;
}
}
你能給我一些算法來處理呢?
我想存儲'0'使用1位和「1」使用1位。
Thx提前。
上面粘貼的代碼使用字符串來保存位模式有什麼問題? –
哦,我想存儲它的位,我不知道如何使用,因爲我不知道確切的長度。 –
有點只是一個值,只能是一個零或一個。一個只包含零和一個字符串的字符串是一串位。 –