数据结构课程设计报告
//队列类
#pragma once
template
Queue(void);//构造函数 ~Queue(void);//析构函数 void EnQueue(T p);//入队操作 T DeQueue();//出队操作
bool IsEmpty();//判断队列是否为空 bool IsFull();//判断队列是否已满 void Clear();//清空队列
};
template
}
template
Queue
template
void Queue } else//如果没有满,则将元素入队 { rear=(rear+1)%MAX; 2 5 数据结构课程设计报告 num[rear]=p; } } template T Queue else//如果队列不为空,则将队首元素出对 { front=(front+1)%MAX; T p=num[front]; return p; } } template bool Queue else return false; } template bool Queue return false; } template } 2 6 数据结构课程设计报告 //哈夫曼结点类 #pragma once #include template template HuaffmanTreeNode int Key;//该字符出现的次数; Type Data;// 输入的字符元素; HuaffmanTreeNode int Tag;//记录该结点是双亲的左右孩子,左孩子为,有孩子为; HuaffmanTreeNode k,Type d,int t,HuaffmanTreeNode public: *p=NULL,HuaffmanTreeNode ~HuaffmanTreeNode(void);//默认析构函数; int GetKey();//得到该结点在正文中出现的次数 void SetKey(int key);//设置关键字的次数 Type GetData();//得到该结点对应的文字编码 void SetData(Type data);//设置结点的文字编码 HuaffmanTreeNode HuaffmanTreeNode 27 数据结构课程设计报告 this->next =NULL; } template HuaffmanTreeNode HuaffmanTreeNode template HuaffmanTreeNode template int HuaffmanTreeNode template void HuaffmanTreeNode 2 8 数据结构课程设计报告 template Type HuaffmanTreeNode } template void HuaffmanTreeNode template HuaffmanTreeNode template void HuaffmanTreeNode template HuaffmanTreeNode template void HuaffmanTreeNode 2 9