数据结构与算法课件4堆栈的插入和删除_第1页
数据结构与算法课件4堆栈的插入和删除_第2页
数据结构与算法课件4堆栈的插入和删除_第3页
数据结构与算法课件4堆栈的插入和删除_第4页
数据结构与算法课件4堆栈的插入和删除_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4堆栈的压入和弹出第1节/堆栈的定义生活中的堆栈堆栈是特殊的线性表堆栈的特征LIFO(LastInFirstOut)1.栈(Stack)的定义

堆栈简称为栈,是限定只能在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端称作“栈顶”,另一端称作“栈底”。通常将元素插入栈顶的操称作为“入栈”(进栈或压栈),称删除栈顶元素的操作为“出栈”。栈底栈顶入栈出栈图3.1堆栈a1a2an…LIFO2.栈的基本运算堆栈的基本运算如下。 (1) StackInit()初始化堆栈。 (2) StackEmpty(s)判定栈s是否为空。 (3) StackLength(s)求堆栈s的长度。 (4) GetTop(s)获取栈顶元素的值。 (5) Push(s,e)将元素e进栈。 (6) Pop(s),出栈(删除栈顶元素)。3.栈的存储结构两种存储结构:(1) 顺序栈——采用顺序结构存储(2) 链栈——采用链式结构存储第2节/顺序栈3.2.1.顺序栈的存储结构#defineMaxSize堆栈可能达到的最大长度typedefstruct{ElementTypeelem[MaxSize];

inttop;

/*栈顶位置*/}SeqStack;MaxSize-1栈底栈顶a0a1an-1…备用空间栈满和栈空的条件是什么?栈满:top=Maxsize-1栈空:top=-1

publicvoidpush(Objectobj)throwsException{ if(top==maxSize-1){ thrownewException("堆栈已满!"); }top++; stack[top]=obj; }(1)入栈

publicObjectpop()throwsException{if(top==-1){ thrownewException("堆栈已空!"); }Objectob

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论