- 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)程序中要体现出建栈过程和取出栈底元素后恢复栈的入栈过程,按堆栈的操作规则打印结果栈中的元素。
实验基本原理:
实验内容
实验设计思路、步骤和方法等:
设计思路
(1)采用顺序栈,即用数组存储栈元素。
(2)设定一个临时队列,用来存放从初始栈中出栈的元素。
(3)取出栈底元素后,将队列中的元素逐一出队并压入初始栈中。
实验设计
程序代码如下:
/*实验栈和队列的基本操作*/
#include
#include
#defineMaxSize100
typedefintElemType
typedefstruc
ElemTypedata[MaxSize];
inttop;/*栈顶指针*/
}SeqStack;/*定义顺序栈*/
typedefstruct
ElemTypedata[MaxSize]
intfront,rear;/*队头和队尾指针*/
}SeqQueue;/*定义顺序队列*/
voidInitStack(SeqStack*s);/*初始化栈*
intStackEmpty(SeqStack*s);/*判栈空*/
intStackFull(SeqStack*s);/*判栈满*/
voidPush(SeqStack*s,ElemTypex);/*进栈*/
ElemTypePop(SeqStack*s);/*出栈*/
ElemTypeGetTop(SeqStack*s);/*取栈顶元素*/
voidDispStack(SeqStack*s);/*依次输出从栈顶到栈底的元素*
voidDispBottom(SeqStack*s);/*输出栈底元素*/
voidInitQueue(SeqQueue*sq);/*初始化队列*1
intQueueEmpty(SeqQueue*sq);/*判队空*;
voidInQueue(SeqQueue*sq,ElemTypex);/*循环队列入队*/
ElemTypeOutQueue(SeqQueue*sq,ElemTypex);/*循环队列出队*/
ElemTypeGetQueue(SeqQueue*sq);/*取队头元素*/
voidmain()
SeqStack*s
SegQueue*sq
ElemTypex;
intn,i;
printf((1)初始化栈s\n)
s=(SeqStack*)malloc(sizeof(SeqStack));
InitStack(s);
printf((2)栈为%s\n,(StackEmpty(s)?空;非空))
printf(”(3)输入要进栈的数据个数:);
scanf(%d
printf(”依次输入进栈的%d个整数:,n)
/*数据依次进栈*/
for(i=0;i
top=-1;
}
/*判栈空*
intStackEmpty(SeqStack*s)
{
if(s-top==-1)
return1;/*栈空返回1*/
else
return0;/*否则返回0*/
}
/*判栈满*/
intStackFull(SeqStack*s)
if(s-top==MaxSize-1)
return1;/*栈满返回1*/
else
return0;/*否则返回0*/
/*进栈*/
voidPush(SeqStack*s,ElemTypex)
if(StackFull(s))
printf(”栈满溢出错误!\n”);
exit(1);
}
s-top++
s-data[s-top]=x;
/*出栈*/
ElemTypePop(SeqStack*s)
if(StackEmpty(s))
{
printf(栈下溢错误!\n)
exit(1);
s-top--;
returns-data[s-top+1];/*返回原栈顶元素值*
/*取栈顶元素*/
ElemTypeGetTop(SeqStack*s)
{
if(StackEmpty(s))
printf(栈下溢错误!\n)
exit(1);
}
returns-data[s-top];
*依次输出从栈顶到栈底的元素*/
voidDispStack(SeqStack*s)
inti;
for(i=s-top;i=0;i--)
printf(%
您可能关注的文档
- 国开电大八一学院《中级财务会计一》 形考任务参考答案.docx
- 国开形成性考核《管理英语(1)》单元自测(6)试题及答案.docx
- 最新整理国开电大《机电控制与可编程序控制器技术》形成性考核册(二)答案.docx
- 国开电大广东《地域文化》51718形考任务1-4参考答案.docx
- 国开《管理英语1》一体化考试期末复习资料.docx
- 国开电大2022秋季《社交礼仪》我要考试(参考答案).docx
- 最新整理国开电大《液压气动技术》形成性考核册(三)答案.docx
- 2023秋季学期国开河南电大本科《现代产权法律制度专题》无纸化考试(1-3形考任务+我要考试)试题及答案+2023秋季学期国开电大法学本科《知.docx
- 国开专科《管理英语1》单元自测1-8试题及答案.docx
- [2024版]国开电大专科《理工英语1》在线形考(单元自测1至8)试题及答案.docx
最近下载
- 物理学咬文嚼字之十六__荷(hè).pdf VIP
- 广告牌制作服务质量保障方案.docx VIP
- 基于“教-学-评一致性”的教学设计.ppt VIP
- 可靠性测试标准.pdf VIP
- 物理学咬文嚼字之四十一:如何是直?.pdf VIP
- TCIAS4-2021 冷热源机房机电装配式施工技术标准.pdf VIP
- 2024《快递分拣机器人传动结构及零件设计》8900字.doc VIP
- 物理学咬文嚼字之九十化学元素之名.PDF VIP
- 2025年自动驾驶卡车在物流行业中的自动驾驶技术产业链整合与商业化路径报告.docx
- 20240208-广发证券-传媒行业小红书深度报告之二:“买手电商”根植社区生态,原生商业系统成长可期.pdf VIP
文档评论(0)