(visual studio 2019可运行)
输入及输出要求见《数据结构C语言(第二版)》严蔚敏版
【本文仅用于啥都看不懂还想交作业选手】
#include<iostream>
#include<map>
#include<string>
#include<stdio.h>
#include<memory.h>
using namespace std;
typedef struct{
char c;
int weight;
int lchild,rchild,parent;
}HuffmanNode,*HuffmanTree;
typedef struct {
char ch;
char *pHC;
}HuffCodeNode;
typedef HuffCodeNode *HuffmanCode;
void Select(HuffmanTree &HT, int index, int &s1, int &s2)//选取两个最小权
{
int i;
for (i = 1; i <= index; i++)
if (HT[i].parent == 0)
break;
s1 = i;
for (int j = s1 + 1; j <= index; j++)
if (HT[j].parent == 0 && HT[j].weight < HT[s1].weight)
s1 = j;
int k;
for (k = 1; k <= index; k++)
if (HT[k].parent == 0 && k != s1)
break;
s2 = k;
for (int j = s2 + 1; j <= index; j++)
if (HT[j].pa