下载此文档

第3章 栈和队列.ppt


文档分类:IT计算机 | 页数:约57页 举报非法文档有奖
1/ 57
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 57 下载此文档
文档列表 文档介绍
第3章栈和队列
数据结构(C++描述)
3。1 栈
3。2 队列
退出
目录

栈的定义
栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。
根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。
也就是说,栈是一种后进先出(Last In First Out)的线性表,简称为LIFO表。

:INISTACK(&S)
将栈S置为一个空栈(不含任何元素)。
:PUSH(&S,X)
将元素X插入到栈S中,也称为“入栈”、“插入”、“压入”。
: POP(&S)
删除栈S中的栈顶元素,也称为”退栈”、“删除”、“弹出”。
: GETTOP(S)
取栈S中栈顶元素。
: EMPTY(S)
判断栈S是否为空,若为空,返回值为1,否则返回值为0。

ADT Stack is Data:
含有n个元素a1,a2,a3,…,an,按LIFO规则存放,每个元素的类型都为elemtype。
Operation:
Void inistack(&s) //将栈S置为一个空栈(不含任何元素)
Void Push(&s,x) //将元素X插入到栈S中,也称为“入栈”、“插入”、“压入”
Void Pop(&s) //删除栈S中的栈顶元素,也称为”退栈”、“删除”、“弹出”
Elemtype gettop(s) //取栈S中栈顶元素
Int empty(s) //判断栈S是否为空,若为空,返回值为1,否则返回值为0
End stack


CONST int maxsize=maxlen; //定义栈的最大容量为maxlen
Struct seqstack
{ elemtype stack[maxsize]; //将栈中元素定义为elemtype类型
int top; //:指向栈顶位置的指针
}

(1)初始化栈
void inistack(seqstack &s)
{
=0;
}
(2) 进栈
void push(seqstack &s, elemtype x)
{
if (==maxsize-1} cout<<”overflow”;
else
{
++;
[]=x;
}
}
(3) 退栈
void pop(seqstack &s)
{
if (= =0) cout<<”underflow”;
else
--;
}
(4) 取栈顶元素
elemtype gettop(seqstack s)
{
if (= =0) {cout<<”underflow”;return 0;}
else return [];
}

第3章 栈和队列 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数 57
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 中国课件站
  • 文件大小 0 KB
  • 时间2011-10-11
最近更新