操作环境:
1. IDE Clion
2. 编译器:VS2020
代码实现
#include <stdio.h>
#include "stdlib.h"
#include "string.h"
typedef struct {
int weight;
int parent, lChild, rChild;
}htNode, *huffmanTree;
typedef char * *huffmanCode ;
void traverseHuffmanCode(huffmanCode hc, int n, char ele[]);
int com(int minW1, int minW2, huffmanTree ht, int j){
if ((ht + j)->parent == 0 && minW2 > (ht + j)->weight && minW2 > minW1){
return 0;
}
if((ht + j)->parent == 0 && minW1 > (ht + j)->weight){
return 1;
} else if ((ht + j)->parent == 0 && minW2 > (ht + j)->weight){
return 2;
}
return -1;
}
void select(huffmanTree ht, int i, int *s1, int *s2){
int minW1 = INT_MAX, minW2 = INT_MAX;
for (int j = 1; j <= i; ++j) {
switch