- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构出栈入栈实验报告.
《数据结构》实验报告
院系 应用科技学院 专业 电子信息工程
姓名 学号
10 级 电信 班 2011 年 11 月 05日
1.实验目的
熟悉栈的定义和栈的基本操作。
掌握顺序存储栈和链接存储栈的基本运算。
加深对栈结构的理解,逐步培养解决实际能力问题的能力
2.需求分析
栈的建立
输入形式和输入值的范围:输入若干个正整数,用空格隔开,以0结束。
菜单操作
根据提示进行操作。
3.概要设计
(1)为了实现上述程序功能,需要第一一个简化的链表抽象数据类型:
ADT LinkList { 数据对象:D={ai|aiIntegerSet,i=0,1,2,…,n,n≥0} 数据关系:R={ai-1,ai|ai-1,ai1∈D,i=2,……,n} 基本操作:
①进栈函数 ???int Push(SqStack *S, int e)
出栈函数 ???int Pop(SqStack *S,int *e)
输出栈元素 void ?OutputStack(SqStack *S)
输出栈中的所有元素。
typedef struct {
int *base;???
int *top; ????
int stacksize; ?
} SqStack
(2)基本操作的伪码算法
/****************构造一个空栈****************/
int InitStack(SqStack S)
{
S.base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));
if(!S.base) return 0;
S.top=S.base;
S.stacksize=STACK_INIT_SIZE ;
return 1;
}
int GetTop(SqStack S,int e)
{
if(S.top==S.base) return 0;
e=*(S.top-1);
return 1;
}
/****************入栈函数****************/
int Push(SqStack S,int e)
{ //插入元素e为新的栈顶元素
if(S.top-S.base=S.stacksize)
{
S.base=(int *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int));
if(!S.base) return 0;
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
return 1;
}
/****************出栈函数****************/
int Pop(SqStack S,int e)
{
if(S.top==S.base) return 0;
e=*--S.top;
return 1;
}
/****************输出函数****************/
int OutputStack(SqStack S)
{ //输出栈中所有元素
int *p;
int i;
p=S.top-1;
printf(栈中的元素有:);
for(i=0;iS.top-S.base;i++)
{
printf( %d,*p);p--;
}
return 1;
}
5.使用说明
程序名为实验1.exe,程序执行过程如下:
运行程序显示如下菜单:
printf(\n);
printf(\t\t\t 顺序栈操作 \n);
printf(\t\t\t**************************\n);
printf(\t\t\t* 0.退出程序! *\n);
printf(\t\t\t* 1.读取栈顶元素 *\n);
printf(\t\t\t* 2.删除栈顶元素 *\n);
printf(\t\t\t* 3.输出栈中所有元素 *\n);
printf(\t\t\t**************************\n);
printf(请选择菜单号(0-3):);
用户输入0~3的数字,选择
您可能关注的文档
- 数学实验_实验报告七..doc
- 数学奥林匹克专题讲座第12讲染色和赋值..doc
- 数学奥林匹克专题讲座第01讲数论的方法技巧(上)..doc
- 数学基础知识及其在西方经济学中的..doc
- 数学实验de报告..doc
- 数学实验中的线性代数..doc
- 数学基础知识与典型例题复习--函数极限与导数..doc
- 数学建模の优秀论文上海世博会最短路线模型..doc
- 数学建模与最优化技术..doc
- 数学建摸论文例子传染病模型..doc
- 2025特种作业煤矿安全作业试卷含答案详解【基础题】.docx
- 2025特种作业煤矿安全作业试卷及完整答案详解(网校专用).docx
- 2025特种作业煤矿安全作业试卷附答案详解(考试直接用).docx
- 2025特种作业煤矿安全作业试卷含完整答案详解(全优).docx
- 2025特种作业煤矿安全作业自我提分评估(名校卷)附答案详解.docx
- 2025特种作业煤矿安全作业自我提分评估含答案详解(B卷).docx
- 2025特种作业煤矿安全作业自我提分评估标准卷附答案详解.docx
- 2025至2030中国前列腺活检系统行业项目调研及市场前景预测评估报告.docx
- 2025特种作业煤矿安全作业自我提分评估及参考答案详解(培优).docx
- 2025至2030中国前列腺特异性抗原(PSA)测试行业市场占有率及投资前景评估规划报告.docx
最近下载
- 统编版六年级语文上册习作《多彩的活动》精品课件(共84张PPT).pptx VIP
- 电厂2×600MW机组扩建工程建筑及安装工程土建专业主要技术施工方案.docx VIP
- 电厂2×600MW扩建(脱硫土建、安装)工程土建专业主要施工技术方案.docx VIP
- 电厂2×600MW机组扩建工程建筑及安装锅炉专业施工技术方案.docx VIP
- 煤电公司2×600MW机组工程汽机专业主要施工技术方案.pdf VIP
- 2X660MW超超临界燃煤机组工程qtz2500型塔式起重机安装的施工方案.doc VIP
- 2X660MW超超临界燃煤机组工程#2锅炉平台楼梯安装方案全案(终版).doc VIP
- 2X660MW超超临界燃煤机组工程#2锅炉平台楼梯安装的方案.doc VIP
- 电厂(2×660MW超超临界机组)机组安装工程锅炉专业施工方案.docx VIP
- 电厂(2×660MW超超临界机组)机组安装工程汽机专业施工方案.docx VIP
文档评论(0)