- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构__栈队列
仲恺农业工程学院实验报告纸 (院、系) 专业 班 组 课
学号 姓名 实验日期 教师评定 实验一 栈和队列的操作及应用
第一部分 栈的操作及应用
一、实验目的 1、理解栈的定义、特征及在其所定义的基本运算 2、掌握在两种存储结构上对栈所施加的基本运算的实现,特别是判断栈满和栈空的条件 3、掌握利用栈解决简单实际问题,如数制转换、表达式求值等 4、理解递归算法执行过程中栈的状态变化过程
二、实验要求 编写程序实现栈的各种运算,并在此基础上设计主函数,使其完成如下功能: (1)初始化栈 (2)元素a,b,c,d,e依次进栈 (3)输出栈顶元素 (4)栈顶元素出栈 (5)输出栈序列
三、程序运算结果截图
四、程序源代码
#include
#include
using namespace std;
#define maxsize 10
////////////////////////////////////////////// typedef struct Stack int *top;
int *buttom; //栈
int length;
int size;
stack;
//////////////////////////////////////////////
void Init stack* a a- top int* malloc sizeof int *maxsize ;
if !a- top exit 0 ;
a- buttom a- top; //初始化栈
a- length 0;
a- size maxsize; ///////////////////////////////////////////////
void Push stack* a,int d if a- top - a- buttom a- size a- size + maxsize;
a- top int* realloc a- top,sizeof int * a- size ; if !a- top
exit 0 ; //入栈
* a- top d;
a- top ++;
a- length++; ///////////////////////////////////////////////
int Pop stack* a int tmp;
tmp * a- top -1 ;
if a- top - a- buttom 0 //出栈
a- top --;
return tmp; ////////////////////////////////////////////////
void Destroy stack* a int i;
for i 0;i a- length;i++ free a- buttom ; //销毁栈
a- buttom++; a- buttom a- top NULL;
a- size a- length 0; ///////////////////////////////////////////////
void main stack a;//栈
int d;//数据
int start 1;//是否循环进栈
Init a ;//初始化
while start cout 请输入要进栈的元素:;
cin d;
Push a,d ;
cout 输入 0 退出,输入 1 继续 :;
cin start; cout 栈顶元素为: * a.top -1 endl;
cout 栈顶元素出栈: Pop a endl;
a.length--;
cout 栈序列:;
while a.length cout Pop a ;
a.length--; cout endl;
Destroy a ; 第二部分 队列的操作及应用
一、实验目的 1、熟练掌握队列的基本概念 2、熟练掌握队列结构上的插入和删除算法
二、实验要求 编写程序实现队列的各种运算,并在此基础上设计主函数,使其具有如下功能: (1)初始化队列 (2)元素a,b,c,d,e依次进队 (3)输出出队序列 三、程序运算结果截图
四、程序源代码
#include
#include
using namespace std;
/////////////////////////////////////
typedef struct Qnode int data;
struct Qnode* next; //队节点
node,*qnode;
////////////////////////////////////
typedef struc
您可能关注的文档
最近下载
- 第4课 科技力量大 第1课时(课件)2025道德与法治三年级上册统编版.pptx
- 急!错误号—2146827859如何解决&浏览器不能创建xml组件.docx VIP
- 外研版小学英语单词汇总(三年级-六年级).pdf VIP
- 涉企行政检查规范培训.pptx
- 单元语法和配套练习 Unit 4 新版 2025年新外研版八年级上册.pdf
- 川教版(2024)《信息技术》四年级上册 第一单元 第3节 《会讲故事的数据》课件.pptx VIP
- 常用化工设备标准规范.pdf VIP
- 单元语法和配套练习 Unit 3 新版 2025年新外研版八年级上册.pdf
- OTIS奥旳斯ACD5调试手册调试资料DAA29100AD_SUR_ACD5-77.pdf
- 股权转让协议担保.docx VIP
文档评论(0)