下载此文档

栈和队列61资料教程.ppt


文档分类:IT计算机 | 页数:约52页 举报非法文档有奖
1/52
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/52 下载此文档
文档列表 文档介绍
(Stack)是限定仅在表的一端(一般指表尾)进行插入和删除操作的线性表。允许插入、删除的这一端称为栈顶(Top),另一端称为栈底(Bottom)。栈的插入操作通常称为入栈或进栈(push),而栈的删除操作则称为出栈或退栈(pop)。=(a0,a1,a2,…an-1),则a0称为栈底元素,an-1称为栈顶元素。栈中元素按a0,a1,a2,…an-1的次序入栈,出栈的第一个元素应为栈顶元素an-1。也就是说,栈的操作是按后进先出的原则进行的。因此,栈又称为后进先出(LastInFirstOut)的线性表(简称LIFO表)。入栈出栈栈底栈顶an-1···:⑴InitStack(s):栈初始化。初始条件:栈s不存在操作结果:构造了一个空栈。⑵StackEmpty(s):判栈空。初始条件:栈s已存在操作结果:若s为空栈则返回1,否则返回0。⑶Push(s,e):入栈。初始条件:栈s已存在操作结果:在栈s的顶部插入一个新元素e,e成为新的栈顶元素。栈发生变化。栈是一种特殊的线性表,因此栈也可采用两种存储结构: (1)顺序栈的存储结构顺序栈是指采用顺序存储结构存储的栈,即利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针(下标)top,指示栈顶元素的当前位置。对于用C语言描述的顺序栈通常用top=-1表示空栈;入栈时,栈顶指针top增1;出栈时,栈顶指针top减1。:#defineMAXSIZE100typedefintElemType;typedefstructstack{ ElemTypeelem[MAXSIZE];//存栈顺序表inttop; //栈顶下标}SQSTACK;(2)顺序栈的基本操作①栈的初始化(即构造一个空栈)voidInitStack(SQSTACK*ps){ps->top=-1;}②判栈空intStackEmpty(SQSTACKs){if(==-1)return1;elsereturn0;}③入栈intPush(SQSTACK*ps,ElemTypee){if(ps->top==MAXSIZE-1)//判栈满{cout<<"Stackisfull“<<endl;return1;}ps->top++;ps->elem[ps->top]=e;return0;}

栈和队列61资料教程 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数52
  • 收藏数0 收藏
  • 顶次数0
  • 上传人68843242
  • 文件大小343 KB
  • 时间2020-08-03