已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
班级:计算机11-1 学号: 姓名: 成绩:_实验一 顺序表操作验证一、 实验目的(1)掌握栈的顺序存储结构;(2)掌握栈的操作特性;(3)掌握基于顺序栈的基本操作的实现方法。(4)掌握队列的链接存储结构;(5)掌握队列的操作特性; (6)掌握基于链队列的基本操作的实现方法。二、 实验内容(1)建立一个空栈;(2)对已建立的栈进行插入、删除、取栈顶元素等基本操作;(3)建立一个空队列;(4)对已建立的队列进行插入、删除、取队头元素等基本操作。三、 设计与编码 #includeusing namespace std;const int StackSize=10; template /定义模板类SeqStackstruct Node T data; Node *next; ;template class SeqStackpublic: SeqStack(); /构造函数,初始化一个空栈 void Push(T x); /将元素x入栈 T Pop( ); /将栈顶元素弹出 T GetTop(); /取栈顶元素(并不删除)private: T dataStackSize; /存放栈元素的数组 int top; /栈顶指针,指示栈顶元素在数组中的下标;template class LinkQueuepublic: LinkQueue( ); /构造函数,初始化一个空的链队列 LinkQueue( ); /析构函数,释放链队列中各结点的存储空间 void EnQueue(T x); /将元素x入队 T DeQueue(); /将队头元素出队 T GetQueue(); /取链队列的队头元素private: Node *front, *rear; /队头和队尾指针,分别指向头结点和终端结点;/顺序栈初始化算法template SeqStack:SeqStack() top=-1;/顺序栈入栈算法Pushtemplate void SeqStack:Push(T x) if (top=StackSize-1) cout上溢endl; else data+top=x;/顺序栈出栈算法Poptemplate T SeqStack:Pop()int x; if (top=-1) cout栈为空,无法删除endl; else x=datatop-; return x;template T SeqStack:GetTop() if(top=-1)cout栈为空endl; elsecout栈顶的元素为:datatopendl;return 0;/链队列构造函数算法LinkQueuetemplate LinkQueue:LinkQueue( )Node*s; s=new Node; s-next=NULL; /创建一个头结点s front=rear=s; /将队头指针和队尾指针都指向头结点stemplate LinkQueue:LinkQueue()Node *q,*front;while(front!=NULL)q=front;front=front-next;delete front;/链队列入队算法EnQueuetemplate void LinkQueue:EnQueue(T x)Node*s; s=new Node; s-data=x; /申请一个数据域为x的结点s s-next=NULL; rear-next=s; /将结点s插入到队尾 rear=s;/链队列出队算法DeQueuetemplate T LinkQueue:DeQueue( )int x;Node*p; if (rear=front)cout下溢next; x=p-data; /暂存队头元素 front-next=p-next; /将队头元素所在结点摘链 if (p-next=NULL) rear=front; /判断出队前队列长度是否为1 delete p; return x;template T LinkQueue:GetQueue()/int x;/Node*p;if(front=rear)cout队列为空endl;else cout队头元素dataendl; return 0;void meun()cout栈和队列操作验证endl; cout*endl;cout1.取栈顶元素endl;cout2.入栈endl;cout3.出队endl;cout4.取栈顶元素endl;cout5.入队endl;cout6.出队endl;cout7.退出endl;cout*endl;int main()meun();SeqStacks1;LinkQueues2;int flag=1;while(flag)int i;couti;switch(i)case 1:s1.GetTop();break;case 2:int i;couti;s1.Push(i);s1.GetTop();break;case 3:s1.Pop();s1.GetTop();break;case 4:s2.GetQueue();break;case 5:int i;couti;s2.EnQueue(i);s2.GetQueue();break;case 6:s2.DeQueue();s2.GetQueue();break;case 7:exit(0);coutendl;break;default:cout错误!endl;break;return 0;运行与调试a) 在调试程序的过程中遇到什么问题,是如何解决的?b) 设计了哪些设计数据?测试结果是什么?测试结果:能够实现入栈、出栈、取栈顶元素、入队、出队、取队头元素的功能c) 程序运行的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 33715-2025纳米技术职业场所健康和安全指南
- 福建省2025年公务员考试冲刺试卷
- 初中学年工作计划
- 高中语文必修上册 含答案第2单元检测
- 高中语文必修上册 第4单元 练习 -家乡文化生活
- 2025年母亲的橙皮试题及答案
- 江西省2025年公务员数量关系专项训练卷
- 2025年血常规质控试题及答案
- 2025年旅游文化概论试题及答案
- 2025年二甲评审院感应知应会试题及答案(共220题)
- GB/T 30340-2025机动车驾驶员培训机构业务条件
- 新保密教育线上培训考试试题及答案
- 12 在牛肚子里旅行 课件 2025-2026学年统编版语文三年级上册
- 班组建设培训课件完整版
- 安全生产考核巡察办法原文
- 光船船舶运输合同范本
- 医院感染管理科十五五发展规划
- 【初中作文】打造作文“好身材”凤头豹尾【课件】
- 学堂在线 实验室安全教育 章节测试答案
- HCIA-AIH13-311v3.5认证考试题(附答案)
- 钢筋工施工安全教育培训课件
评论
0/150
提交评论