- 1、本文档共76页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教学课件课件PPT医学培训课件教育资源教材讲义
第三章 栈和队列;【学习指南】
在这一章中,主要是学习如何在求解应用问题中
适当地应用栈和队列,栈和队列在两种存储结构中的
实现都不难,但应该对它们了如指掌,特别要注意它
们的基本操作实现时的一些特殊情况,如栈满和栈空
、队满和队空的条件以及它们的描述方法。 ;线性表和栈及队列的插入和删除操作对比如下:
插 入 删 除
线性表: Insert(L,i,x) Delete(L,i)
(1≤i≤n+1) (1≤i≤n)
栈: Insert(L,n+1,x) Delete(L,n)
队列:Insert(L,n+1,x) Delete(L,1) ;3.1 栈
3.1.1 栈的类型定义; 通常称往栈顶插入元素的操作为“入栈”,称删除栈顶元素
的操作为“出栈”。因为后入栈的元素先于先入栈的元素出栈,
故被称为是一种“后进先出”的结构,因此又称LIFO表。;栈的抽象数据类型定义如下:
ADT Stack {
数据对象:D={ ai | ai∈ElemSet, i=1,2,...,n, n≥0 }
数据关系:R1={ ai-1 , ai | , ai-1,ai∈D, i=2,...,n }
约定an端为栈顶,a1端为栈底。;基本操作:
InitStack(S)
操作结果:构造一个空栈 S。
DestroyStack(S)
初始条件:栈 S 已存在。
操作结果:栈 S 被销毁。
ClearStack(S)
初始条件:栈 S 已存在。
操作结果:将 S 清为空栈。;3.1.2 栈的存储表示和操作的实现;栈顶指针和栈中元素之间的关系 ;void InitStack (SqStack S)
{ // 构造一个空栈 S
S.base = (SelemType )malloc(STACK_INIT_SIZE
* sizeof(ElemType));
if (!S.base) exit(OVERFLOW); // 存储分配失败
S.top = S.base;
S.stacksize = STACK_INIT_SIZE ;
return OK;
};void GetTop (SqStack S, SElemType e)
{ // 若栈不空,则用 e 返回S的栈顶元素,并返回
// OK;否则返回ERROR
if (S.top == S.base) return ERROR;
e = *( S.top-1); // 返回非空栈中栈顶元素
return OK;
};void Push (SqStack S, SElemType e)
{ // 插入元素 e 为新的栈顶元素,
if (S.top – S.base = S.stacksize) { // 栈已满,追加存储空间
S.base = (SElemType *)realloc (S.base , (S.stacksize
+ STACKINCREMENT ) * sizeof(Elemtype));
if(!S.base) exit( overflow);
S.top = S.base + S.stacksize;
S.stacksize ++= STACKINCREMENT;
}
*S.top++ = e ; // 插入新的元素
return OK;
};void Pop (SqStack S, SElemType e)
{ // 若栈不空,则删除S的栈顶元素,用 e 返回其值,
// 并返回 OK;否则返回 ERROR
if (S.top == S.base) return ERROR;
e = *- - S.top; // 返回非空栈中栈顶元素,栈顶指针前移
return OK;
} ;链栈即为栈的链式存储结构。 ;结构定义:
typedef struct {
LinkList top; // 栈顶指针
int length; // 栈中元素个数
} SqStack;
;vo
您可能关注的文档
- 3-7曲率及其计算公式教学讲义.ppt
- 3-8 曲率教学讲义.ppt
- 3D游戏美术—原画设计范例精灵教学讲义.ppt
- 3D园林设计教程-5教材课程.ppt
- 3G核心网介绍教材课程.ppt
- 3V速效体验营销教材课程.ppt
- 3城市绿地分类(提问)教材课程.ppt
- 3道路交叉设计-立体交叉设计2011教材课程.ppt
- 3道路勘测设计课件第三章教学讲义.ppt
- 3第三章+平面设计教材课程.ppt
- 主题四 微专题1 中国优秀传统文化的内涵、价值与演变.docx
- 主题四 微专题1 中国优秀传统文化的内涵、价值与演变.pptx
- Unit 5 Music 单元词汇默写与运用(含答案)-2024-2025学年高中英语人教版(2019)必修第二册.docx
- 安徽省天长市2024-2025学年高三上学期第四次学情调研考试历史试题(含解析).docx
- Unit 3 The Internet 单元词汇默写与运用(含答案)--2024-2025学年高中英语人教版(2019)必修第二册.docx
- 部编人教版二年级下册道德与法治《我的环保小搭档》课件.pptx
- 山东省中企质信检测技术有限公司实验室建设项且建设项目环境影响报告表(污染影响类).pdf
- 北师大版(2019)必修第三册Unit 7 Art Lesson 3 A Musical Genius 课文变形语法填空(含答案).docx
- 福建省龙岩市2024-2025学年高一上学期1月期末英语试题(无答案).docx
- 广东省广州市2024-2025学年高三2月月考英语试题(无答案).docx
最近下载
- 查理和巧克力工厂.pdf
- 部编版六年级语文上册期末《标点符号》专项试卷 附答案.pdf
- 湘科版(2017)三年级下册科学第一单元控制溶解过关测试题(一)(有答案).docx
- 最全的天津玩闹名单.pdf
- 1.2 男生女生 (课件)2024-2025学年七年级道德与法治下册(统编版2024).pptx VIP
- 湘科版科学三年级下册第一单元控制溶解测试卷.docx
- 【单元概述】第一单元 控制溶解 三年级下册科学 湘科版.doc VIP
- 新湘科版三年级下册科学第一单元《控制溶解》单元教学课件1.ppt
- 播音主持外部技巧停连重音语气节奏演示文稿.ppt VIP
- 新湘科版三年级下册科学教案(一至五单元).pdf VIP
文档评论(0)