石子归并C++问题的程序示例

来源:百度知道 编辑:UC知道 时间:2024/06/22 18:18:53
思想懂了,就是不太会处理,望高手给个示例程序,我好参详下
我想要个示例,就是完整的编好的程序(C++语言的或者C语言的也行
)

#include<stdio.h>
#include<iostream>
using namespace std;
struct HuffNode
{
int weight;
int lchild, rchild, parent;
};
struct HuffTree
{
HuffNode *nodes; // ½áµã¸öÊýΪ2*leafnum-1
int leafnum;
};
long int CreateHuffmanTree(HuffTree &T, int leafnum, int weights[])
{
// ³õʼ»¯HuffTreeµÄ¿Õ¼ä½á¹¹
T.nodes = new HuffNode[2*leafnum-1];
if (T.nodes==NULL) return 0;
T.leafnum = leafnum;
for (int i=0; i<leafnum; i++)
{
T.nodes[i].weight = weights[i];
T.nodes[i].lchild = -1;
T.nodes[i].rchild = -1;
T.nodes[i].parent = -1;
}
// ¿ªÊ¼¹¹Ôì
long int count=0;
for (int i=leafnum; i<leafnum+leafnum-1; i++)
{
// ÔÚËù&