哈夫曼的原理教科书上已经讲得很详细了。这里不做详细介绍,但书上的代码有的很不好理解,其中在这里给大家先介绍一个查找一个序列的两个最小数的算法。
#include <stdio.h>
#include <stdlib.h>
void mainWWWW()
{
int a[]={
10,20,1,2,3,2,11,33};
int min1=10000,min2=10000;
int nCount=sizeof(a)/sizeof(int);
for(int i=0;i<nCount;i++)//这个是求一个序列的两个最小数的方法
{
if(a[i]<min1)
{
min2=min1;
min1=a[i];
}else if(a[i]<min2)
{
min2=a[i];
}
}
printf("最小的两个数是:%d,%d",min1,min2);
system("pause");
}
上述代码讲得是如何在一个序列中找到两个最小数的算法(不通过排序实现)这个算法在哈弗曼编码中有使用。
说这么多,