- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构用语言描述实验四.doc
实验学时数4实验四
实验学时数4
实验名称栈和队列及其应用 实验性质 设计性
学吋
一、实验目的
掌握栈与队列的抽象数据类型描述及特点。
掌握栈和队列的顺序和链式存储结构与基本算法实现。
掌握栈和队列在实际问题中的应用和基本编程技巧。
二、实验内容
栈和队列在不同存储结构上进行插入、删除等操作的算法。
通过栈或队列解决现实中的一些问题。
一一一实验过程
1、 实验题目
[问题描述]
以卜*题目根据Cl己兴趣和能力可选作一道作为实验题目:
根据栈的数据结构,建立一个顺序栈和链栈并实现对其基本操作;
根据队列的数裾结构,建立一个循环队列和链队并实现对其基本操作;
根据教材4. 3. 3节介绍的思想,设计并实现一个对简化表达式求值的系统
银行业务队列简单模拟。设某银行有A、B两个业务窗口,其中A窗口的
处理速度是B窗口的2倍,给定到达银行的顾客序号,请按业务完成的顺序输
出顾客序列(假设奇数编号到A窗口办理,偶数编号到B窗口办理,不同窗口
同时处理完2个顾客,A窗口优先输出)。
[基本要求]
按实验内容编写完整的程序,并上机验证。
实验完成后,提交电子档教师验收程序,并提交填写好的实验报告。
[测试数据]
由学生依裾软件工程的测试技术C1己确定。注意测试边界数裾。
2、 源程序
#include〈stdio.h
#includcmalloc. h
#define StackSize 100
#define StackElementType int
Sdefine TRUE 1
ftdcfinc FALSE 0
typedef struct //顺序钱
{
StackElcmcntTypc clcm[Stack Size];
int top;
}SeqStack;
typedef struct node //链栈
{
StackElcmcntTypc data;
struct node 氺next;
}LinkStackNode;
typedef LinkStackNodc 本LinkStack;
void InitStack(SeqStack *s) //初始化顺序拽
{
s-top=~l;
}
void InitStackJL(LinkStackNodc *s) //初始化链栈
{
s-next=NULL;
}
int Push(ScqStack *s, StackElcmcntTypc x) //顺序栈进栈
{
if (s-top==Stack_Size-l)
return (FALSE);
s-top++;
s-clcm[s-top]=x;
return (TRUE);
}
int Pop(SeqStack *s, StackElementType *x) //顺序栈出栈
{
if (s-top==-l)
return (FALSE);
else
{
*x=s-clcm[s-top];
s-top—;
printf(出栈元素为:%d〃,*x); return (TRUE);
}
}
void print(ScqStack s) //打印顺序栈
{
int i;
if (s. top==-l)
printf (〃栈为空:\n );
else
{
printf (栈里的元素为.?);
do
{
printf (〃%4d〃,s. clcm[s. top]);
s. top一一;
}while(s. top!=-l);
printf (z/\nz,);
}
}
int Push (LinkStack top, StackElementType x) //链栈进栈
{
LinkStackNode^temp;
tcmp= (LinkStackNodc*)malloc(sizcof(LinkStackNodc));
if (tcmp==NULL) return (FALSE);
temp-dcita=x;
tcmp-ncxt=top-ncxt;
top-ncxt=tcmp;
return (TRUE);
}
int Pop (LinkStack top, StackElementType *x) //链栈出栈
{
LinkStackNodc *tcmp; temp=top-next; if (temp==NULL) return (FALSE); top-next=temp-next; *x=temp-data; free (temp); return (TRUE);
}
void print (LinkStack s) //打印链栈
LinkStack p=s-next; printf(栈中的元素为:); while(p!=NULL)
{printf (〃%4d〃,p-dcita); p=p-ncxt;} printf C’\n
您可能关注的文档
- 教育规划应少些功利.doc
- 教育视角下自制小学音乐学具对兴趣度的培养毕业论文(设计)..doc
- 教育论文flash动画制作教学过程中学生创新能力的培养刍议.doc
- 教育论文hpl法测定肿节风提取物中反丁烯二酸的方法及优化2.doc
- 教育论文中职卫校外科护理学实训课探讨.doc
- 教育论文中职卫校多媒体教学存在的问题及对策研究.doc
- 教育论文中职卫校护理技能竞赛人才培养的点滴探讨.doc
- 教育论文中职卫生学校函数单调性情感教学.doc
- 教育论文中职学校幼教专业普通话教学微探.doc
- 教育论文交互式电子白板在教学中的应用.doc
- DB44_T+2767-2025河口海湾总氮、总磷水质评价指南.docx
- 中医药科技成果转化评价技术规范.docx
- DB44_T+2750-2025农村供水工程数字化建设技术导则.docx
- DB44_T+2769-2025金属矿山生态修复技术规范.docx
- 镁合金航天航空零部件长效防护微弧氧化膜层工艺规范.docx
- 《甘青青兰中绿原酸和胡麻苷含量的测定 高效液相色谱法》发布稿.pdf
- DB44_T+753-2025声环境质量自动监测技术规范.docx
- 信息技术 智算服务 异构算力虚拟化及池化系统要求.docx
- DB44_T+2759-2025黄荆栽培技术规程.docx
- 废生物制药溶媒再生乙腈.docx
最近下载
- 一级生物安全实验室应急预案培训计划.docx
- 《大数据分析与应用》全套教学课件.pptx
- [全国高校统编教材法语][北外马晓宏版][1-4册][第二册词汇表].doc VIP
- 初中化学竞赛辅导培训.ppt VIP
- 灵魂三问,思辨推进,辩证回应——2024北京高考卷“历久弥新”作文讲评课件.pptx VIP
- 四年级语文上册复习课件-知识点专项复习 (共22张PPT)部编版.pptx VIP
- 宪法宣传优秀课件.ppt VIP
- 多频微带天线设计.docx VIP
- T CAQI 252-2022《无化学阻垢剂饮用水处理器》.pdf
- 部编版四年级上册语文-生字专项期末总复习复习课件 (共21张PPT).pptx VIP
原创力文档


文档评论(0)