Huffman编码的贪心实现,使用优先队列
2015-08-08 11:23
429 查看
#include<iostream> #include<queue> #include<string> using namespace std; struct node { int lchild; int rchild; int freq; string str; friend bool operator<(node n1,node n2){ return n1.freq>n2.freq; //从小到大排序 } }a[10]; int main(){ priority_queue<node> q; int n; while(cin>>n){ for(int i=1;i<=n;i++){ cin>>a[i].freq; a[i].lchild=NULL; a[i].rchild=NULL; q.push(a[i]); } for(int i=1;i<n;i++){ node z; z.lchild=q.top().freq; q.pop(); z.rchild=q.top().freq; q.pop(); z.freq=z.lchild+z.rchild; q.push(z); } while(!q.empty()){ cout<<q.top().freq<<endl; q.pop(); } } return 0; }
相关文章推荐
- Android单元测试初探——Instrumentation
- 生产环境下JAVA进程高CPU占用故障排查
- 寻找一个二维数组鞍点的算法实现
- GDB调试,转载一位大牛的东西
- uva 1345 Jamie's Contact Groups (最大流+二分)
- swift新手入门视频教程-08-枚举
- 一次tomcat应用无法访问的处理过程
- iOS8 tableView的Cell高度自适应开发
- 理解面向消息的中间件和JMS
- 关于字符串和数组字符串
- 【Neural Network】林轩田机器学习技法
- 【DFS】POJ3009-Curling 2.0
- HDU 5353 Average 贪心
- 微信红包要收税 到底关我卵事?
- 南邮 OJ 2098 3_A+B(III)
- HDU 1879 继续畅通工程
- 转 wsdl
- UIWebView网页视图—IOS开发
- volatile 关键字
- HDU - 3466 Proud Merchants(不理解)