数据结构——栈的相关操作报告文库

数据结构——栈的相关操作报告文库

ID:41680222

大小:51.58 KB

页数:14页

时间:2019-08-29

数据结构——栈的相关操作报告文库_第1页
数据结构——栈的相关操作报告文库_第2页
数据结构——栈的相关操作报告文库_第3页
数据结构——栈的相关操作报告文库_第4页
数据结构——栈的相关操作报告文库_第5页
资源描述:

《数据结构——栈的相关操作报告文库》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、喜舞爭悅南湖学院JIAXINGUNIVERSITYNANHUCOLLEGE数据结构课程设计题目栈的和关操作系部商学系专业信息管理及信息系统班级信息N141学生姓名贺森烁指导教师梁田编写日期2016.7.7目录1、实验目的2、实验内容11)运行环境12)程序所实现的功能13)存储结构24)程序主要模块24、算法设计25、详细程序清单56、程序运行截图II7、收获及体会121、实验目的数据结构课程设计是学生对课程所学知识的综合运用,它与课堂听讲、上机实验、课外练习、自学研究相辅相成,构成一个完整的课程教学体系。《数据结构》是一门实践

2、性强的课程,其中对算法设计和程序编写的掌握尤为重要。学生虽然可以通过与课堂教学同步的上机实验完成相关内容的练习,但却往往局限于一些功能简单、彼此Z间关系独立的算法和程序。课程设计是一种综合训练,致力于培养学生全面、灵活的算法设计思想和较高的编程能力,为今后从事计算机开发与应用打下基础。新世纪需要具有丰富科学知识、独立解决实际问题、有创造能力的新型人才,这也是该课程设计的最终目标2、实验内容模块2:1栈的有关操作*要求实现对栈入栈和岀栈操作,可以任选顺序栈或链栈。2栈的应用举例**要求可以自选题口,并实现相关操作(如:递归的应用等

3、)。3、实验步骤1)运行坏境:VS2013;语言:C语言;2)程序所实现的功能:要求实现对栈入栈和出栈操作,可以任选顺序栈或链栈。3)存储结构:链栈:typedefstructSNode{ElementTypedata;structSNode*next;}SNode,*LinkStack;十进制数转二进制数:使用除2取余法,例如数字13,得到的余数依次是1、0、1、1,转化后二进制数为110U最先得到的余数是二进制的最低位,最后得到的余数是二进制的最高位,所以可以利用栈的先进后出的特点来解决。4)程序主要模块栈:initStac

4、k(LinkStacks)〃置栈空isStackEmpty(LinkStacks)〃判空pushStack(LinkStacks,ElementTypex)〃入栈Pop(LinkStacks,ElementType*e)〃岀栈printStack(LinkStacks)〃打印MultiBaseOutput(intN,intB)〃进制转换4、算法设计LinkStackinitStack(LinkStacks)〃置栈空〃使创建的新节点为空{s=NULL;returns;〃向主函数返回}intisStackEmpty(LinkStac

5、ks)〃判空,判断是否为空栈{if(s==NULL)returntrue;elsereturnfalse;LinkStackpushStack(LinkStacks,ElementTypex)//A栈/插入元素x为新的栈顶元素{LinkStackp;p=(LinkStack)malloc⑸zeof(SNode));〃为p分配新的存储空间if(p==NULL)returnfalse;〃分酉己失败贝!]返回falsep・>data=x;p・>next=s;s=p;returns;〃向主函数返回}voidprintStack(Link

6、Stacks)〃打印{LinkStackp=s;inti=0;//计数while(p!=NULL){printf(nLinkStackNode%dis%c",i,p->data);p=p->next;//p指向下一个节点printf(nn);}}LinkStackPop(LinkStacks,ElementType*e)〃岀栈〃若栈不空,则删除s的栈顶元素,用e返回其值,并返回s{SNode*temp;*e=s->data;〃存储释放数据temp=s;s=temp->next;free(temp);〃释放空间returns;

7、〃向主函数返回}voidMultiBaseOutput(intNzintB)〃进制转换{SNode*s;inti;s=(SNode*)malloc⑸zeof(SNode));s二initStack(s);while(N)〃从右向左产生B进制的各位数字,并将其进栈s=pushStack(s,N%B);N=N/B;}〃时间复杂度o(n)while(lisStackEmpty(s))〃栈非空时退栈输岀s=Pop(sz&i);printf(”%cTi);}}5、详细程序清单#include#include

8、.h>#defineTRUE1#defineFALSE0#defineNULLOtypedefintElementType;typedefstructSNode{ElementTypedata;structSNodeext;}SNode,*LinkStack;L

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。