哈夫曼编、译码器(5)

2019-01-10 14:51

数据结构课程设计报告

}

template

int LinkList::GetLength() { }

template

HuaffmanTreeNode* LinkList::Delete(HuaffmanTreeNode *p) //取出链表中的前两个数据元素 { }

HuaffmanTreeNode *pre,*current,*temp=new HuaffmanTreeNode(); pre=this->GetHead(); current=pre->GetNext(); while(current) { }

return NULL;

if(current->GetFlag ()==false) { } else { }

current=current->GetNext(); current->SetFlag (true); return current;

HuaffmanTreeNode *current->GetHead()->GetNext(); int num=0; while(current) { }

return num;

num++;

current=current->GetNext();

HuaffmanTreeNode *current=new HuaffmanTreeNode(1,p,0); }

this->Insert (current); p=cin.get (); List[i]=p; i++;

20

数据结构课程设计报告

template

HuaffmanTreeNode*LinkList::Copy() { HuaffmanTreeNode *pa,*pb; LinkList L;

pa=this->GetHead()->GetNext(); while(pa) { pb=new HuaffmanTreeNode(); pb->SetKey(pa->GetKey()); pb->SetData (pa->GetData ()); L.Insert(pb); pa=pa->GetNext ();

}

return L.GetHead ();

}

template

bool LinkList::CheckAllTure() { HuaffmanTreeNode *current=this->GetHead()->GetNext(); while(current) { if(current->GetFlag()==false)

return false;

current=current->GetNext(); }

return true;

}

//栈类

#include

#define MAX 2000//定义栈的最大存储量为 using namespace std;

template//模板栈类 class Stack { private : T Data[MAX]; int top;

public :

Stack();//构造函数

2

1 数据结构课程设计报告

bool push(T num);//进栈操作 T pop();//出栈操作

T Get_top();//得到栈顶的元素 bool Empty();//判断栈是否为空 bool Full();//判断栈是否已满 void Clear();//清空栈

}; /* 输入:无 前置条件:无 动作:初始化栈 输出:无

后置条件:栈被创建 */

template Stack::Stack() { this->top =-1;

} /*

输入:输入要入栈的元素 前置条件:栈未满

动作:向栈中增加一个元素 输出:无

后置条件:栈的元素增加一个 */

template bool Stack::push(T num) { if(this->Full ()) return false; else {

this->top ++; this->Data [top]=num; return true; }

} /* 输入:无

2

2 数据结构课程设计报告

前置条件:栈不为空 动作:输出栈中的一个元素 输出:栈的元素

后置条件:栈中的元素个数减少一个 */

template T Stack::pop() { if(this->Empty ()) return false;

else { T temp=this->Data [top]; cout<Data [top]; top--; return temp; }

} /* 输入:无

前置条件:存在顶部节点 动作:输出顶部节点 输出:顶部节点 后置条件:无 */

template T Stack::Get_top() { if(this->Empty ()) { cout<<\栈为空,不能得到顶部节点!\<

return this->Data [top]; }

} /* 输入:无

2

3 数据结构课程设计报告

前置条件:无

动作:判断栈是否为空 输出:无 后置条件:无 */

template bool Stack::Empty() { return top==-1;

} /* 输入:无 前置条件:无

动作:判断栈是否满了 输出:无 后置条件:无 */

template bool Stack::Full() { return top==MAX-1; } /* 输入:无 前置条件:无

动作:清空栈中的元素 输出:无

后置条件:栈为空 */

template void Stack::Clear () { this->top=-1; } /* 输入: 前置条件: 动作: 输出: 后置条件: */

2

4


哈夫曼编、译码器(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数据结构导论真题分类整理详细

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: