帮忙看一下这段程序有什么错误,我找不出来

来源:百度知道 编辑:UC知道 时间:2024/05/24 09:27:29
#include<iostream.h>
#include<malloc.h>
#include<string.h>
typedef struct{
unsigned int weight;
unsigned int parent, lchild,rchild;
}HTNode,*Huffmantree;
typedef char * * Huffmancode;

void select(Huffmantree &HT,int n,int &s1,int &s2){
int i;
for(i=1;i<=n;i++)
if(HT[i].parent==0){s1=i;break;}
for(i=1;i<=n;++i){
if((HT[i].parent==0)&&(HT[i].weight<HT[s1].weight))
s1=i;}
for(i=1;i<=n;i++)
if(HT[i].parent==0&&i!=s1){s2=i;break;}
for(i=1;i<=n;i++){
if(i==s1)continue;
if((HT[i].parent==0)&&(HT[i].weight<HT[s2].weight))
s2=i;}
}

void Huffmancoding(Huffmantree &HT,Huffmancode &HC,int * w,int n){
if(n<=1)return;
int m,start,c,f,i,s1,s2;
m=2*n-1;
HT=(Huffmantree)malloc((m+1)*sizeof(HTNode));
Huffmantree p;
?for(p=HT+1,i=1;i<=n;++i,++p,++w)*p={*w,0,0,0};
?for(;i<=m;++i,++p)*p={0,0,0,0};
for(i

#include<iostream.h>
#include<malloc.h>
#include<string.h>
typedef struct{
unsigned int weight;
unsigned int parent, lchild,rchild;
}HTNode,*Huffmantree;
typedef char * * Huffmancode;

void main()
{
Huffmantree ht;
Huffmancode hc;
}
ht现在是一个指针,而hc现在是一个什么我就不知道了
你的错误很多
先指出一些把:
if(HT[f].lchild==c) X C是整型 而前面的是单精度字符型
?for(p=HT+1,i=1;i<=n;++i,++p,++w)*p={*w,0,0,0};
不可以这么赋值,不信的话,试试下面的代码
#include<iostream.h>
typedef struct{
unsigned int weight;
unsigned int parent, lchild,rchild;
}HTNode,*Huffmantree;
typedef char * * Huffmancode;
void main()
{

Huffmantree HT;
*HT={0,0,0,0};

}
你看看这个,它也无法编译成功
你可以把它们分别赋值,如ht->得到成员后赋值

去掉大括号