首先把所有的字符加入到优先队列,然后每次弹出两个结点,用这两个结点作为左右孩子,构造一个子树,子树的跟结点的权值为左右孩子的权值的和,然后将子树插入到优先队列,重复这个步骤,直到优先队列中只有一个结点为止,这个结点就是最终哈夫曼树的根结点. 在定义指针类型的优先队列priority_queue<node*>的时候,需要注意,指针类型默认在比较的时候是直接比较指针的值,也就是地址的大小,要实现比较权值,有两种方法. 一.另外定义一个结构体PNode,结构体中只有一个成员变量: node* p;然…