请教,霍夫曼编码的一段程序
// 用冒泡法对进行灰度值出现的概率排序,结果保存在数组fTemp中
for (j = 0; j < m_iColorNum - 1; j ++)
{
for (i = 0; i < m_iColorNum - j - 1; i ++)
{
if (fTemp[i] > fTemp[i + 1])
{
// 互换
fT = fTemp[i];
fTemp[i] = fTemp[i + 1];
fTemp[i + 1] = fT;
// 更新映射关系
for (k = 0; k < m_iColorNum; k ++)
{
// 判断是否是fTemp[i]的子节点
if (iMap[k] == i)
{
// 改变映射到节点i+1
iMap[k] = i + 1;
}
else if (iMap[k] == i + 1)
{
// 改变映射到节点i
iMap[k] = i;
}
}
}
}
}
这里的iMap是做什么用的,不太懂