实验四--栈和队列验证实验

实验四--栈和队列验证实验

ID:33412964

大小:56.19 KB

页数:6页

时间:2019-02-25

实验四--栈和队列验证实验_第1页
实验四--栈和队列验证实验_第2页
实验四--栈和队列验证实验_第3页
实验四--栈和队列验证实验_第4页
实验四--栈和队列验证实验_第5页
资源描述:

《实验四--栈和队列验证实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验四栈和队列操作验证1・实验目的(1)掌握栈的顺序存储结构;(2)掌握栈的操作特性;(3)掌握基于顺序栈的基本操作的实现方法。(4)掌握队列的链接存储结构;(5)掌握队列的操作特性;(6)掌握基于链队列的基本操作的实现方法。2.实验内容(1)建立一个空栈;(2)对已建立的栈进行插入、删除、取栈顶元素等基本操作;(3)建立一个空队列;(4)对已建立的队列进行插入、删除、取队头元素等基本操作。3・编码头文件zgyll23.hconstintStackSize=10;template〃定义模板类SeqStackclass

2、SeqStack{public:SeqStack();〃构造函数,初始化一个空栈~SeqStack(){}voidPush(Tx);//将元素x入栈TPop();〃将栈顶元素弹出TGetTop();〃取栈顶元素(并不删除)private:Tdata[StackSize];〃存放栈元素的数组inttop;〃栈顶指针,指示栈顶元素在数组屮的下标};templatestructNode{Tdata;Node*next;};templateclassLinkQueue{public:LinkQueue(

3、);〃构造函数,初始化一个空的链队列-LinkQueue();〃析构函数,释放链队列中各结点的存储空间voidEnQueue(Tx);〃将元素x入队TDeQueue();〃将队头元素出队TGetQueue();〃取链队列的队头元素private:Node*front,*rear;〃队头和队尾指针,分别指向头结点和终端结点};函数实现文件zgyll2354.cpp#include#include°zgyl123.hnusingnamespacestd;templateSeqStack::

4、SeqStack(){top=-1;}templatevoidSeqStack::Push(Tx){if(top==StackSize-1)throw"上溢”;top++;data[top]=x;templateTSeqStack::Pop(){if(tOp==-l)throw“下溢”;Tx=data[top-J;returnx;}templateTSeqStack::GetTop(){if(top==-l)throw"下溢";Tx=dataftop];returnx

5、;)templateLinkQueue::LinkQueue(){Node*s=newNode;s->next=NULL;〃创建一个头结点sfront=rear=s;〃将队头指针和队尾指针都指向头结点s}templateLinkQueue::*-LinkQueue(){while(front!=NULL){Node*q=front;front=front->next;deleteq;templatevoidLinkQueue::EnQueue(Tx)

6、Node*s=newNode;s->data=x;〃屮请一个数据域为x的结点ss->next=NULL;rear->next=s;//将结点s插入到队尾rear=s;}templateTLinkQueue::DeQueue(){if(rear==front)throw"下溢";Node*p=front->next;Tx=p->data;〃暂存队头元素front->next=p->next;〃将队头元素所在结点摘链讦(p->next==NULL)reai-front;〃判断出队前队列长度是否为1

7、deletep;returnx;}templateTLinkQueue::GetQueue(){if(rear==front)throw"下溢”;Node*p=front->next;Tx=p->data;returnx;1主函数#include#includeHzgyl12354.cpp"usingnamespacestd;voidmain(){cout«"初始化一个空栈sr'«endl;SeqStacksi;cout«n将元素77,88,99入栈H«endl;sl.Pus

8、h(77);sl.Push(88);sl.Push(99);cout«"将栈顶元素弹出:"«s1.Pop()«endl;cout«"取栈顶元素(并不删除)M«s1.GetTop()«endl;cout«n初始化一个空的链队列Hn«en

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。