参考答案看底部
1.数据结构【Huffman树】Huffman树的建立 题目描述 编写函数根据给定的权值个数及权值建立Huffman树 前置代码: //算法5.8 建立Huffman树 #include using namespace std; typedef struct{
int weight; int parent,lchild,rchild; }HTNode,*HuffmanTree; void Select(HuffmanTree &HT, int n, int &s1, int &s2) {
int minum=1; // 定义一个临时变量保存最小值? for(int i=1; i<=n; i++) // 以下是找到第一个最小值 {
if(HT[i].parent == 0) {
minum = i; break; } } for(int i=1; i<=n; i++) {
if(HT[i].parent == 0) if(HT[i].weight < HT[minum].weight) minum = i; } s1 = minum; // 以下是找到第二个最小值,且与第一个不同 for(int i=1; i<=n; i++) {
if(HT[i].parent == 0 && i != s1) {
<
|