test2.c

来自「《数据结构-使用C语言》第三版」· C语言 代码 · 共 43 行

C
43
字号
#include<stdio.h>
#include<stdlib.h>

#define MaxValue 10000
#define MaxBit 10
#define MaxN 100

#include"Haffman.h"

int main()
{
	int i, j, n;
	int weight[MaxN];
	
	HaffNode *myHaffTree;
	Code *myHaffCode;
	while(scanf("%d",&n)!=EOF)
	{
		for(i=0;i<n;i++)
		scanf("%d",&weight[i]);
		
		myHaffTree=(HaffNode *)malloc(sizeof(HaffNode)*(2*n+1));
		myHaffCode=(Code *)malloc(sizeof(Code)*n);
		
		if(n>MaxN)
		{
			printf("error!\n");
			exit(0);
		}
		Haffman(weight, n, myHaffTree);
		HaffmanCode(myHaffTree, n, myHaffCode);
		
		for(i=0;i<n;i++)
		{
			printf("Weight=%d  Code=",myHaffCode[i].weight);
			for(j=myHaffCode[i].start;j<n;j++)
			printf("%d",myHaffCode[i].bit[j]);
			printf("\n");
		}
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?