- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
回顾线性表顺序表sqlist(elem,length,listsize)随机存取.ppt
回顾线性表 顺序表sqList(elem,length,listsize) 随机存取 查找(含修改)操作O(1),与位置无关 插入、删除操作O(n),与位置成反比 单链表LinkList(data,next) 非随机存取 查找操作O(n),与位置成正比 修改、插入、删除操作O(1),与位置无关(结点位置已确定为前提) 单链表的应用 P39页一元多项式的表示及相加 将第2次作业中“学员信息管理”小程序的实现。 现库存情况 1000元 10台 1500元 5台 2000元 2台 进货 1500元 2台 3000元 5台 算法设计过程 结点类型定义struct LNode 建立库存表status CreateLink(L) 进货status AddNew(L, e) 查看库存status LookList(L) 出货status Edit(L,e,count) 注意1:建立库存表时与书中初始化空表不同的是可以将已有产品信息连续输入进去。 注意2:进货操作时要能允许连续输入多个产品信息。 第3章 栈和队列 本章学习“栈”和“队列” 仍属线性表 是特殊的线性表 是操作受限的线性表 3.1 栈 学习要点 理解并掌握栈的结构特征和操作特点; 掌握栈的顺序存储结构,以及如何用C语言描述它的类型定义; 重点掌握顺序存储结构栈的基本操作的算法; 理解栈的后进先出的特点及在程序设计中的应用。 引例:火车编组 其他实例 一摞书 刷盘子 函数嵌套与递归调用 3.1.1 抽象数据类型-栈的定义 栈(Stack):限定仅在表尾进行插入或删除操作的线性表。 -表尾端称为“栈顶” -表头端称为“栈底”。 概念强化练习 按栈结构要求,设有输入序列ABC,可能的输出序列有哪些?(注:入栈的过程中允许出栈,但每一个元素入栈和出栈的次数只能各一次。) 栈状态 产生式 A进 A出 B进 B出 C进 C出 ABC A进 A出 B进 C进 C出 B出 ACB A进 B进 B出 A出 C进 C出 BAC A进 B进 B出 C进 C出 A出 BCA A进 B进 C进 C出 B出 A出 CBA 不可能出现的序列为: CAB 补充公式: 若输入的序列为1、2、3 ….n,则可能出现的输出序列符合卡塔南数列: ADT Stack {数据对象:D={ai|ai∈ElemSet,i=1,2,…,n,n≧0} 数据关系:R1={ai-1,ai|ai-1,ai∈D,i=2,…,n} 基本操作:(部分常用) InitStack(S) 构造空栈 StackEmpty(S) 判栈空 GetTop(S,e) 取栈顶元素 Push(S,e) 进栈 Pop(S,e) 出栈 }ADT Stack 3.1.2 栈的表示和实现 两种存储表示方法:顺序栈和链栈 1.顺序栈 3+2个要素: -top 栈顶指针 -base 栈底指针 -stacksize 栈的(当前)容量 -STACK_INIT_SIZE 初始分配量 -STACKINCREMENT 分配增量 顺序栈结构定义 Typedef struct { SElemType *base; SElemType *top; int stacksize; }SqStack; 顺序栈的主要算法 构造空栈 Status InitStack(SqStack S) { S.base=(SElemType *) malloc (STACK_INIT_SIZE*sizeof(SElemType)); if(!S.base) exit (OVERFLOW); S.top=S.base; S.stacksize=STACK_INIT_SIZE; return OK; } 学习实现算法前请回答以下问题: 如何表示栈满? 如何表示栈空? 如何取得栈顶元素的值? 入栈操作时栈结构定义中的哪个或哪些分量改变了? 出栈时栈结构定义中的哪个或哪些分量改变了? 取栈顶元素(注意:不是出栈) Status GetTop(SqStack S,SElemType e) { if(S.top==S.base) return ERROR; e=*(S.top-1); return OK; } 进栈 Status Push(SqStack S,SElemType e) { if(S.top-S.base=S.stacksize) { S.base=(SElemType *)realloc(S.base,(S.stacksize
您可能关注的文档
- 分秒必争医不停顿联鼎软件医疗行业解决方案自主创新厚积薄发联鼎软件概况主营业务方向-高可用性、数据保护和灾难恢复.pptx
- 刘朝霞个人简介introductionofthelecturer连续两届中国百万圆桌会主席.ppt
- 刘海坤博士,副教授18871190722.pptx
- 创业企业市场推广第一枪目录content.pptx
- 创业投资企业和天使投资个人所得税政策解读2018-05政策依据.pptx
- 创业者的能力游戏折纸.ppt
- 创建卫生乡镇公共场所、生活饮用水部分杭州市卫生和计划生育监督所金涛.pptx
- 创新教学内容优化教学流程《新视野大学英语》第三版newhorizoncollegeenglish.pptx
- 初中历史史料教学研究与教学案例分析泰州市教研室王瑶当前历史教育教学存在的主要问题历史课程地位问题.ppt
- 初中历史新课程实施策略与方法浅议.ppt
- 团队负责人-姜紫阳.ppt
- 国内外会议中心规划设计发展趋势北京清华城市规划设计研究院2011-12-10-发展历程.ppt
- 国家公派出国留学派出模式新变化和派出工作新举措.pptx
- 国家图书馆信息基础设施建设与服务.pptx
- 国家基本公共卫生服务项目经费管理四川省促进基本公共卫生服务均等化指导中心关旭静qq-56949665.pptx
- 国家标准、管理典范目录content1-公司介绍2-行业普遍关心点3-行业客户案例.pptx
- 国家标准《建设工程项目管理规范》解读与应用李君建设工程项目管理规范与总承包管理规范.pptx
- 国家汽车三包法新规行业协会培训解读合鼎冯海花律师结束语.ppt
- 国家注册安全工程师广东省应急预案评审专家企业三级安全标准化评审专家讲师-王军.ppt
- 国家物流信息化发展规划与政策措施研究-内容提纲.ppt
文档评论(0)