- 3
- 0
- 约1.03万字
- 约 7页
- 2016-10-16 发布于贵州
- 举报
数据结构授课教-第3章
山东轻工业学院
教师授课教案
课程名称: 数据结构(计科) 课程代码: 0301306 学 分: 4.5 课程类别: 必修 开课单位: 信息科学与技术学院 授课班级: 授课教师: 杨春花
山东轻工业学院教务处制
授课时间 年 月 日 星期 第 节
年 月 日 星期 第 节
年 月 日 星期 第 节 授课内容概要 第三章 栈和队列
第一节 栈
栈的定义、结构特性和基本操作,栈的顺序存储结构表示和实现,栈的链式存储结构表示和实现。
第二节 栈的应用举例
数制转换,括号匹配的检验,迷宫求解,表达式求值等。
第三节 栈与递归
递归的概念,递归
队列的定义、结构特性和基本操作;链队列的类型定义、插入和删除;循环队列的类型定义、判空和满的条件、插入和删除。 目的要求 目的:理解栈和队列的定义和实现,理解它们的应用。
基本:栈和栈和队列的应用栈栈循环队列空和满方法
栈和队列是操作受限的线性表,在计算机科学和程序设计中有广泛的应用。
3.1栈
3.1.1栈的定义
栈(stack)是限定在表的同一端进行插入或删除操作的线性表。
进行插入或删除操作的一端称为栈顶(top),另一端称为栈底(bottom)。
当表中没有元素时称为空栈。
栈的操作特性:后进先出(last in first out)
设栈S=(a1,a2,…,an)。栈中元素按a1,a2,…,an的次序进栈,则退栈的第一个元素为an 。
栈是又称为后进先出(last in first out )的线性表(简称LIFO结构)。
例:
1)火车调度,如进栈的车厢序列为1、2、3,则可能的出栈序列有哪些?
2)已知一个栈的入栈序列为1,2,3…,n,其输出序列为p1,p2,…,pn,若p1=n,则pi为 ?
3.1.1栈的基本运算
初始化空栈,InitStack(S);
判断栈是否为空栈,StackEmpty(S);
往栈中插入(或称推入)一个元素(入栈),push(S,e);
从栈中删除(或称弹出)一个元素(删除),pop(S);
求栈顶元素的值,GetTop(S)。
3.1.2栈的表示与实现
1.顺序栈
用向量s()表示栈,附设top指向栈顶位置。
定义1:
#define MAXSIZE 1024
typedef struct
{ElemType data[MAXSIZE];
int top;
}SeqStack;
定义2:
ElemType s[MAXSIZE];
int top;
⑴ 置空栈:首先建立栈空间,然后初始化栈顶指针。
void initStack(SqStack s)
{
s.top= 0;
}
⑵ 判空栈
bool StackEmpty (SeqStack s)
{ if (s.top= = 0) return true;
else return false;
}
⑶ 入栈
int Push (SeqStack s, elemtype x)
{if (s.top= =MAXSIZE-1) return 0; /*上溢*/
else {s.data[s.top]=x;
s.top++;
return 1;
}
}
⑷ 出栈
int Pop (SeqStack s, datatype x)
{ if (Empty_SeqStack ( s ) ) return 0; /*下溢 */
else {s.top--; x=s.data[s.top];return 1; }
}
⑸ 取栈顶元素
elemtype GetTop(SeqStack s)
{
if ( Empty_SeqStack ( s ) ) return 0; /*栈空*/
else return (s.data[s.top] );
}
2.链栈
typedef struct node
{ ElemType data;
struct node *next;
}StackNode,* LinkStack;
LinkStack top ;
⑴ 置空栈
void Init_LinkStack( LinkStack top )
{
top= NULL;
}
⑵ 判栈空
int Empty_LinkStack(LinkStack top )
{
if(top==NULL) return 1;
el
您可能关注的文档
- 数字图像处理实指导书 _贵州大学.doc
- 数字温度计的设与制作任务书.doc
- 数字电子技术基教材第四章答案.doc
- 数字电子技术课设计论文.doc
- 数字电子课程学指导.doc
- 数字电子技术第章答案.doc
- 数字视频信号源编码器和解码器的研究.doc
- 数字逻辑电路(秀敏主编)课后习题答案第二章.doc
- 数字频率计_课设计报告.doc
- 数字频率计课程计报告.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 医院医养结合功能区设计方案.docx
- 老年人防诈骗宣传案例分析报告.docx VIP
- 聚羧酸减水剂msds报告.docx
- 个人信用报告模板简版带水印可编辑2025年9月新版.pdf VIP
- QBNM-PS-0001—2019 汽车车身油漆涂层标准.pdf VIP
- 2025铁路旅客列车餐饮服务卫生规范.pdf VIP
- 奉节脐橙电子商务发展中存在的问题及对策研究.docx VIP
- 城中村改造建设项目可行性研究报告.docx VIP
- 2024党员围绕“学习贯彻党的创新理论、党性修养提高、联系服务群众、党员发挥先锋模范作用、铸牢中华民族共同体意识方面”5个方面组织生活会发言材料多篇.docx VIP
- 《养老之女性篇》课件.pptx VIP
原创力文档

文档评论(0)