📄 新建 文本文档.txt
字号:
#include "stdio.h"
#include "iostream.h"
#include "malloc.h"
class LettFreq {
private
char lett; // A letter
private
int freq; // Frequenc
public LettFreq(int f, char l) {
freq = f;
lett = l;
}
public LettFreq(int f) {
freq = f;
}
public int weight() { return freq; }
public char letter() { return lett; };
}
class HuffTree {
private BinNode root;
public HuffTree(LettFreq val){
root = new BinNode(val);
}
public HuffTree(LettFreq val, HuffTree l, HuffTree r){
root = new BinNode(val, l.root(), r.root());
}
public BinNode root(){
return root;
}
public int weight() {
return ((LettFreq)root.element()).weight();
}
public HuffTree buildTree(MyList hufflist){
HuffTree temp1, temp2, temp3;
LettFreq tempnode;
hufflist.sort();
while(hufflist.size()>=2){
hufflist.setFirst();
temp1 = (HuffTree)hufflist.remove();
temp2 = (HuffTree)hufflist.remove();
tempnode = new LettFreq(temp1.weight() + temp2.weight());
temp3 = new HuffTree(tempnode, temp1, temp2);
for(hufflist.setFirst();hufflist.isInList();hufflist.next()){
if(temp3.weight() >= ((HuffTree)(hufflist.currValue())).weight()){
hufflist.insert(temp3);
break;
}
}
if(!hufflist.isInList())
hufflist.append(temp3);
}
hufflist.setFirst();
return (HuffTree)hufflist.remove();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -