- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构教案第三章
课程名称 数据结构 教学对象 新华软工 教 材 数据结构(C语言) 授课内容 第三章 栈和队列 课 时 3 教学目的
与要求 本章主要介绍栈和队列的定义,它们的特点,算法实现 重点、难点 重点:栈和队列的定义和特性、它们的基本操作、存储结构
难点:队列的顺序存储结构
课 型 电脑+理论 教学方法 投影、讨论、板书 教学过程
设计
(包括讲授知识、演示内容及案例、提问及学生演示内容) 任务一、 栈
前言:(用时15分钟)
从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表的子集,它们是操作受限的线性表,即可称限定性的数据结构
一、什么是栈(用时35分钟)
栈是限定仅能在表尾一端进行插入、删除操作的线性表
栈的特点:后进先出
第一个进栈的元素在栈底,最后一个进栈的元素在栈顶,
第一个出栈的元素为栈顶元素,
最后一个出栈的元素为栈底元素
安徽新华电脑专修学院课堂教学教案
(电脑应用课使用)
教
学
过
程
设
计
(续表)
二 栈的基本操作(用时20分钟)
1)?构造一个空栈S;
2) 进栈操作Push3)出栈操作Pop4) 取栈顶元素top
任务二、栈存储
1、栈的顺序存储结构(用时40分钟)
#define MAX 50
int stack[MAX];
int top=0;
1 ) 进栈操作
viod Push( int x )
{if (top=MAX) printf(“ overflow” );
else {stack[top]=x; top++; }
}
2)出栈操作
int pop( ){if (top==0) {printf(“underflow”); return(NULL);}
top--; return(stack[top]);
}
2、 栈的链式存储和实现(用时40分钟)
(1) 进栈算法
NODE *top;
Void push(int x)
{ NODE *p=(NODE *)malloc(sizeof(NODE);
p-data=x;
p-link=top;
top=p;
}
教
学
过
程
设
计
(续表)
(2) 出栈算法
NODE *pop( );
{ NODE *p;
if (top==NULL)return(NULL);
p=top;
top=p-link;
return(p);
}
复习思考题
作 业
上机任务 案例分析:
死胡同案例分析 参考文献 《数据结构》 (C语言版) 扬振生 中国科学技术大学出版社 课后记
(或归纳小结) 栈是限定仅能在表尾一端进行插入、 删除操作的线性表;栈的元素具有后进先出的特点; 栈顶元素的位置由一个称为栈顶指针的变量指示,进栈、出栈操作要修改栈顶指针
课程名称 数据结构 教学对象 新华软工 教 材 数据结构(C语言) 授课内容 第三章 栈和队列 课 时 3 教学目的
与要求 本章主要介绍栈和队列的定义,它们的特点,算法实现 重点、难点 重点:栈和队列的定义和特性、它们的基本操作、存储结构
难点:队列的顺序存储结构
课 型 电脑+理论 教学方法 投影、讨论、板书 教学过程
设计
(包括讲授知识、演示内容及案例、提问及学生演示内容)
任务三、 栈的应用举例
例1 数制转换(用时50分钟)
对于输入的任意一个非负十进制数,显示输出与其等值的八进制数
数制转换方法
N = (Ndiv8)10( 8+N mod 8
N:十进制数,div:整除运算,mod:求余运算;? (1348)10 = 2(83+5(82+0(8+4 = (2504)8
N 1348 168 21 2
N div 8 168 21 2 0
N mod 8 4 0 5 2
安徽新华电脑专修学院课堂教学教案
(电脑应用课使用)
教
学
过
程
设
计
(续表)
void conversion( ) { InitStack(s); //建空栈 scanf(“%d”,x); //输入一个非负十进制整数
文档评论(0)