- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
03-第三章(栈、队)课件
第三章 堆栈和队列;1;第三章 堆栈和队列;第三章 栈和队列;3.1 堆栈(stack);栈 底;例如:假设有A、B、C、D四个元素,以顺序栈为存储结构,入栈的时候可以出栈,如果入栈顺序为A、B、C、D,请问不可能得到下面那哪出栈序列?如果可能,栈的最小容量为多少?
(1)A、B、C、D (2)D、B、C、A
(3)C、B、A、D (4)A、C、B、D ;栈是一种特殊的线性表;3.1.2 堆栈的顺序存储实现;顺序栈基本运算的算法:;(2)判栈空操作status empty_Ss( Ss_top)){{/*栈Ss为空时,返回为TRUE;非空时,返回为FALSE*/
if(Ss_top==-1) return TRUE; else return FALSE;};(3)取栈顶元素操作
Get_Ss(Ss, Ss_top, x)
{/*若栈s不为空,则返回栈顶元素*/
if(Ss_top==-1)
{printf(“空栈”);return ERROR; }
else
x=Ss[Ss_top]
return OK; };Ss_top;;Ss_top;;;顺序栈4要素
栈空:Ss_top==-1
栈满:Ss_top==MAXSIZE-1
进栈操作:Ss_top++;
Ss[Ss_top]=x;
出栈操作:x=Ss[Ss_top];Ss_top--; ;1、假定利用数组a[N]顺序存储一个栈,用top表示栈顶指针,top = = 0表示栈空,并已知栈未满,当元素x进栈时所执行的操作为______。
a[- -top] = x; B. a[top- -] = x;
C. a[++top] = x; D. a[top++] = x;
2、假定利用数组a[N]顺序存储一个栈,用top表示栈顶指针,top = = 0表示栈空,并已知栈未空,当出栈并返回栈顶元素时所执行的操作为______。
return a[- -top]; B. return a[top--];
C. return a[++top]; D. return a[top++];;;a;由两个栈共享一个向量空间的好处是______。
A减少存取时间,降低下溢发生的机率
B节省存储空间,降低上溢发生的机率
C减少存取时间,降低上溢发生的机率
D节省存储空间,降低下溢发生的机率;3.1.3堆栈的链式存储的实现一、栈的链式存储结构;链栈的表示和算法实现;入栈过程;;;出栈过程 ;本节小结;3.3 栈的应用实例;例3.1
设计算法完成如下功能:读入一个整数n,随后读入n个整数,然后按照与输入次序相反的次序输出各元素的值。例如,如果输入n的值为5,其后面的各整数为1、2、3、4、5,则应输出5、4、3、2、1。;例3.2
设计算法将单链表L就地逆置,即将链表中的各元素结点的后继指针倒置为指向其前驱结点,使a1结点变成最后一个结点,an结点变成第一个结点。;例3.3 数制转换
十进制N和其它进制数的转换是计算机实现计算的基本问题,其解决方法很多,其中一个简单算法基于下列原理:
N=(n div d)*d+n mod d
( 其中:div为整除运算,mod为求余运算)
例如 (1348)10=(2504)8,其运算过程如下:; void conversion( ) { initstack(s);
scanf (“%d”,n);
while(n){
push(s,n%2);
n=n/2;
}
while(! Stackempty(s)){
pop(s,e);
printf(“%d”,e);
} } ; void conversion( )
{ initstack(s);
scanf (“%”,n);
while(n)
{ push(s,n%8);
n=n/8; }
while(! Stackempty(s))
{ pop(s,e);
printf(“%d”,e);
}
} ;3.3.1 算术表达式求值:堆栈应用;求中缀表达式的过程;;3.3 栈-栈
您可能关注的文档
最近下载
- 销售人员营销心态.ppt VIP
- 简单劳务派遣合同范本模板(2024版).docx VIP
- 铁路桥梁预应力管道自动压浆系统.pdf
- 麻醉学发展史(1).pptx
- 2025年高考语文复习新题速递之非连续性文本阅读(2025年4月).docx VIP
- 《旅行社经营与管理》电子教案 1-2 旅行社概述2.docx VIP
- 广东省深圳市2024—2025学年下学期八年级期末数学试卷.pdf
- 大学生劳动就业法律问题解读 智慧树 知到答案.docx VIP
- 《旅行社经营与管理》电子教案 1-1 旅行社概述1.docx VIP
- 2025年河北唐山曹妃甸区招聘社区工作者183人笔试备考题库及答案解析.docx VIP
文档评论(0)