select.cpp
来自「霍夫曼编码」· C++ 代码 · 共 46 行
CPP
46 行
#include "StdAfx.h"
//在HT【1...a】中找出parent为0且weight最小的两个结点
void Select(HuffmanTree HT,int a,int &s1,int &s2)
{
int t,i,j,*temp;
//temp的零号单元未用
temp=(int*)malloc((a+1)*sizeof(int));
for (j=1;j<=a;j++)
{
if(HT[j].parent==0)
temp[j]=HT[j].weight;
else
temp[j]=0;
}
j=0;
while(temp[++j]==0);
t=temp[j];
s1=j;
for (i=j+1;i<=a;i++)
{
if(temp[i]<t&&temp[i]!=0)
{
t=temp[i];
s1=i;
}
}
temp[s1]=0;
j=0;
while(temp[++j]==0);
t=temp[j];
s2=j;
for (i=j+1;i<=a;i++)
{
if(temp[i]<t&&temp[i]!=0)
{
t=temp[i];
s2=i;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?