结构体定义: typedef struct node{ int data; int l, r, p; }HuffmanTree;1、HufmanTree的建立 void createHuffmanTree(HuffmanTree*& H, int * inArr, int len){ int i, j, min1, min2; H = (HuffmanTree*)malloc((2 * len - 1)*sizeof(node)); int id1=-1, id2=-1; for (i = 0; i < len; i++) H[i].data = inArr[i]; for (i = 0; i < 2 * len - 1; i++) H[i].l = H[i].r = H[i].p = -1; for (i = len; i < 2 * len - 1; i++) { min1 = min2 = INT_MAX; for (j = 0; j < i; j++) { if (H[j].p == -1) { if (H[j].data < min1) { if (id1 == -1) { id1 = j; min1 = H[j].data; } else{ id2 = id1; id1 = j; min2 = min1; min1 = H[j].data; } }