




(1) 通过键盘输入待编码的符号及其权值(符号数不少于7个)构造哈夫曼树;
(2) 输出哈夫曼树的先序遍历和中序遍历;
(3) 输出各符号的哈夫曼编码;
(4) 将哈夫曼树保存为磁盘文件;
(5) 从磁盘文件读出数据生成哈夫曼树。





关注【相关推荐】
//先倒序存到一个新的链表中,然后输出
//采用头插法即可
void reverse_output(Node* head)
{
Node* reverse_first = (Node*)malloc(sizeof(Node));
assert(reverse_first);
reverse_first -> data = 0;
reverse_first -> next = NULL;
Node* p = head->next;
while(p)
{
Node* save = p;
p = p->next;
save->next = reverse_first->next;
reverse_first->next = save;
}
print_list(reverse_first);
}