找两个最小的数

这个是大二写的代码,感觉还是比较好,晕啊,现在怎么想都想不到啊。
人老了,脑子不中用了。


void Select(HuffmanTree HT,int n,int &s1,int &s2)
{
unsigned int Min_1,Min_2;
int x1,x2;
x1=x2=0;
Min_1=Min_2=0x7FFF;//这个小值能取多大取多大。哈哈哈~
    for(int i=0;i<=n;i++)
    {
         if(HT[i].weight<Min_1&&0==HT[i].flag)
   {
    Min_2=Min_1;
    x2=x1;
    Min_1=HT[i].weight;
    x1=i;
   }
   else
   {
    if(HT[i].weight<Min_2&&0==HT[i].flag)
    {
     Min_2=HT[i].weight;
     x2=i;
    }
   }//这个if与else语句作用是:Min_1<Min_2<x;
   //同理:如果要是3个数:Min_1<Min_2<Min_3<x,多一个条件判断语句而已。
}
s1=x1;//x1为最小者
s2=x2;//x2为次小者
return;      


}

评论

此博客中的热门博文

Linux/ARM Page Table Entry 属性设置分析

由RFE指令引发的一串故事

提交了30次才AC ---【附】POJ 2488解题报告