The Fourth Dimension Space

枯叶北风寒,忽然年以残,念往昔,语默心酸。二十光阴无一物,韶光贱,寐难安; 不畏形影单,道途阻且慢,哪曲折,如渡飞湍。斩浪劈波酬壮志,同把酒,共言欢! -如梦令

优先队列priority_queue 实现哈弗曼树WPL的计算

#include<iostream>
#include
<queue>
#include
<functional>
using namespace std;

priority_queue
<int,vector<int>,greater<int>>myqueue;

int main ()
{

    
int n;
    
int i;
    
int sum=0;
    scanf(
"%d",&n);
    
for(i=1;i<=n;i++)
    
{
        
int temp;
        cin
>>temp;
        myqueue.push(temp);
    }

    
while(myqueue.size()!=1)
    
{
        
int temp;
        temp
=myqueue.top();
        sum
+=temp;
        myqueue.pop();
        temp
=myqueue.top();
        sum
+=temp;
        myqueue.pop();
        myqueue.push(sum);
        sum
=0;
    }

    cout
<<myqueue.top()<<endl;
    system(
"pause");
    
return 0;
}

posted on 2009-03-28 23:24 abilitytao 阅读(414) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理