当前位置:首页 > 实验七
《数据结构》课程实验
link);
printf(\}
void sethufcode() //建立huffman编码 {
int i,s,f,k=1;
struct codetype c; for(i=1;i<=N;i++) { c=table[i].code; c.start=N+1; s=i; f=tree[s].plink; do { c.start--; if(s==tree[f].llink) c.bits[c.start]='0'; else c.bits[c.start]='1'; s=f; f=tree[s].plink; }while(f); table[i].code=c; } }
void printhufcode() 字母 {
int i,j;
struct codetype c; printf(\编码为:\\n\ for(i=1;i<=N;i++) { printf(\ c=table[i].code; for(j=c.start;j<=N;j++) printf(\
//输出huffman编码,即空格+26个大写9
《数据结构》课程实验
printf(\ }
printf(\}
/*void setcode() //对报文进行编码 {
int i,j,count; char c0,k='Y'; struct codetype c;
while(k=='Y') //利用循环,实现对报文多次编码 { printf(\请输入报文(大写字母+空格,不超过100),输入'.'(+回车)号结束\\n\\n\ for(i=1;i<=100;i++) //利用循环,实现对报文输入 { c0=getchar(); t[i].symbol=c0; if(c0=='.') break; } count=i; //记录报文个数 printf(\ printf(\报文编码为:\\n\\n\ for(i=1;i<=count;i++) //利用循环,实现对报文输出 { if(t[i].symbol=='.')break; else switch(t[i].symbol) //利用开关语句,查找编码 { case ' ': c=table[1].code; for(j=c.start;j<=N;j++) //输出编码 printf(\ printf(\ break; case 'A': c=table[2].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break;
10
《数据结构》课程实验
case 'B': c=table[3].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'C': c=table[4].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'D': c=table[5].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'E': c=table[6].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'F': c=table[7].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'G': c=table[8].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'H': c=table[9].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'I': c=table[10].code;
11
《数据结构》课程实验
for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'J': c=table[11].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'K': c=table[12].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'L': c=table[13].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'M': c=table[14].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'N': c=table[15].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'O': c=table[16].code; for(j=c.start;j<=N;j++) printf(\ printf(\ break; case 'P': c=table[17].code; for(j=c.start;j<=N;j++) printf(\
12
共分享92篇相关文档