- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构
栈和队列
一 上机的目的和要求
实验目的:
1.??掌握实现栈/队列的基本操作方法
2.??掌握栈的基本操作:建栈,Push,Pop等运算在顺序存储上的实现
3.?掌握队列的基本操作:建队列,入队,出队等运算在顺序存储结构上的实现
队列的实验参照栈编程实现。
实验报告要求:
1. 上机前完成所有的函数编写
2.??实验记录部分填写编写主函数调用所写所有函数的屏幕输出
3.??实验总结部分填写对该次实验所编写函数的运行情况,和在实验过程中对栈的认识和实现情况?
二 基本知识和原理
??栈和队列是两种常用的数据结构,栈和队列是操作受限的线性表,栈和队列的数据元素具有单一的前驱和后继的线性关系;栈和队列又是两种重要的抽象数据类型。??栈是限定在表尾进行插入和删除操作的线性表允许插入和删除的一端为栈顶,另一端为栈底,出栈元素只能是栈顶元素,后进先出,相邻元素具有前驱与后继关系。??队列是只允许在一端进行插入操作,在另一端进行删除操作的线性表。允许插入的一端为队尾,允许删除的一端为队头,先进先出,相邻元素具有前驱与后继关系。
三 程序算法分析及实现代码
#include stdio.h
#include conio.h
#define MaxSize 100 /*栈中的元素的最大个数*/
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];/*存放堆栈的数组*/
int top;/*栈顶元素*/
}Stack,*S;
/*堆栈的初始化*/
void InitStack(Stack *S)
{
/*指向的是最顶端的元素
取值范围为从0~MaxSize-1
为-1时说明为空栈*/
S-top=-1;
}
int StackEmpty(SqStack *s) //判断是否为空
{
if(s-top==s-base)
{
return TRUE;
}
else
{
return 0;
}
}
int GetTop(SqStack* s,int *e) //取栈顶
{
//若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR
if(s-top==s-base)
{
return ERROR;
}
*e=*(s-top-1);
return 1;
}
int Push(SqStack *s,int e) //进栈
{
//插入元素e为新的栈顶元素
if(s-top-s-base=s-stacksize)
{
//栈满,追加存储空间
s-base=(int *)malloc(SIZE*sizeof(int));
if(!s-base)
exit(OVERFLOW);
s-top=s-base + s-stacksize;
s-stacksize +=SIZE;
}
*(s-top)++=e;
return 1;
}
int Pop(SqStack *s ,int *e)//出栈
{
// 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR
if(s-base == s-top)
return ERROR;
*e = *--s-top;
return 1;
}
int main ( )
{SqStack sq;
InitStack(sq);
int e;
int N;
int k;
int n=0;
Z:
{
printf(\n\t********************************************);
printf(\n\t*** 请你输入相应的操作序号进行操作 ***);
printf(\n\t*** 1.是否空 ***);
printf(\n\t*** 2.取栈顶元素 ***);
printf(\n\t*** 3.进栈 ***);
printf(\n\t*** 4.出栈 ***);
printf(\n\t*** 0. 退出 ***\n);
printf(\t*********
您可能关注的文档
- 手工计算钢筋公式大11.doc
- 手工计算钢筋公式大全.docx
- 手工锡器渐成绝唱.docx
- 手糊成型工艺及复合材料的发展.docx
- 手机FPC检测规范.docx
- 手机伴侣测试规范.docx
- 手机互联网用户上网行为系统介绍—移动.pptx
- 手机壳制作工艺.docx
- 手机上的黑科技.pptx
- 手机摄影技巧总汇和摄影作品赏析.pptx
- 长春市2026届高三质量监测(一)一模历史试卷(含答案)原卷.doc
- 长春市2026届高三(一模)历史试卷(含答案).doc
- 2026届八省联考高考日语试卷试题打印版(第一次).doc
- 2026届八省联考高考历史试卷试题打印版(第一次).doc
- 2026届八省联考高考物理试卷试题及答案详解(精校打印).doc
- 开封市2026届高三年级第一次质量检测(一模)数学试卷(含官方答案)原卷.doc
- 湖南省金太阳市、县级优质高中协作体2026届高三元月联考语文试卷(含答案及解析).doc
- 湖南省金太阳市、县级优质高中协作体2026届高三元月联考物理试卷(含答案及解析).doc
- 湖南省金太阳市、县级优质高中协作体2026届高三元月联考数学试卷(含答案及解析).doc
- 湖南省金太阳市、县级优质高中协作体2026届高三元月联考地理试卷(含答案及解析).doc
最近下载
- 中国马克思主义与当代 2024版 教材课后思考题参考答案.docx
- 楼宇自控系统技术实施方案.doc VIP
- 2025年长沙中考数学核心考点与备考指南(知识点归纳,必考知识点、真题模拟试卷及解析).docx VIP
- V3.02讯飞录音设备SR701使用说明书.pdf
- 02.中电建新能源集团股份有限公司陆上风电场场区典型设计手册(2024版).pdf VIP
- 车间生产统计培训.pptx VIP
- 国开本科《工程经济与管理》期末题库.pdf VIP
- DB42T 1782-2021薄壳山核桃丰产栽培技术规程.pdf VIP
- 国开2025年秋《心理学》形成性考核练习1-6答案.docx
- 成人依恋表征与恋爱关系的相关性小调查-(2).docx VIP
原创力文档


文档评论(0)