浅谈栈和队列资料知识讲解.ppt

浅谈栈和队列资料知识讲解.ppt

ID:59701543

大小:2.18 MB

页数:19页

时间:2020-11-19

浅谈栈和队列资料知识讲解.ppt_第1页
浅谈栈和队列资料知识讲解.ppt_第2页
浅谈栈和队列资料知识讲解.ppt_第3页
浅谈栈和队列资料知识讲解.ppt_第4页
浅谈栈和队列资料知识讲解.ppt_第5页
资源描述:

《浅谈栈和队列资料知识讲解.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、浅谈栈和队列资料论文提纲1栈12队列23栈的队列的应用区别34栈和队列的发展前景4结束引言在对高级语言编写的源程序进行编译时类似于表达式括号匹配问题就是用栈来解决的;计算机系统在处理子程序之间的调用关系是,用栈来保存处理执行过程中的调用次序。现实世界中有许多问题可以用队列描述。例如,对顾客服务部门的工作往往是按照队列方式进行的,这类系统乘坐排队系统。程序设计中,也经常使用队列记录需按照先进先出方式处理的数据,例如键盘缓冲区,操作系统中的作业调度等。返回到总目录1栈1.1栈的概念栈(stack)是一种特殊

2、的线性表。作为一个简单的例子,可以把食堂里冼净的一摞碗看作一个栈。在通常情况下,最先冼净的碗总是放在最底下,后冼净的碗总是摞在最顶上。而在使用时,却是从顶上拿取,也就是说,后冼的先取用,后摞上的先取用。如果我们把冼净的碗“摞上”称为进栈(压栈),把“取用碗”称为出栈(弹出),那么上例的特点是:后进栈的先出栈。然而,摞起来的碗实际上是一个线性表,只不过“进栈”和“出栈”都在最顶上进行,或者说,元素的插入和删除操作都是在线性表的一端进行而已。栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能

3、在线性表的一端进行。插入元素又称为进栈,删除元素又称为出栈。允许进行插入和删除操作的一端称为栈顶(top),另一端称为栈(bottom)。处于栈顶位置的数据元素称为栈顶元素,处于栈底位置的数据元素称为栈底元素。不含任何数据元素的栈称为空栈。1.2栈的基本操作栈除了在栈顶进行进栈与出栈外,还有初始化、判空等操作,常用的基本操作有:(1)初始化栈InitStack(S)。其作用是构造一个空栈S。(2)判断栈空EmptyStack(S)。其作用是判断是否是空栈,若栈S为空,则返回1;否则返回0。(3)进栈Pu

4、sh(S,x)。其作用是当栈不为满时,将数据元素x插入栈S中,使其为栈S的栈顶元素。(4)出栈Pop(S,x)。其作用是当栈S不为空时,将栈顶元素赋给x,并从栈S中删除当前栈顶元素。(5)取栈顶元素GetTop(S,x)。其作用是当栈S不为空时,将栈顶元素赋给x并返回,操作结果只是读取栈顶元素,栈S不发生变化。由于栈是操作受限制的线性表,因此与线性表类似,栈也有两种存储结构,即顺序存储结构和链式存储结构。1.3.1顺序栈栈的顺序存储结构称为顺序栈。类似于顺序表的类型定义,顺序栈是用一个预设的足够长度的一

5、维数组和一个记录栈顶元素位置的变量来实现。1.3.2链栈用链式存储结构实现的栈称为链栈[3],链栈与不带头结点单链表组织形式相似,因为栈的主要操作是在栈顶进行插入与删除操作,显然将链表的第一个结点作为栈顶是最方便的,因此,没有必要如单链表那样为了操作方便附加一个头结点。链栈的基本操作实现也有初始化栈操作,判断栈空操作,进栈操作,出栈操作,取栈顶元素。。1.3栈的分类2.1队列的概念在日常生活中的排队上车,排队的规则是不允许“插队”。后来的人需站在队尾,每次总是队头先上车。这种先进先出的规则应用在数据结构

6、中称为队列(queue),队列又称为先进先出(firstinfirstout)的线性表,简称FIFO表。队列也是一种特殊的线性表[4]。与栈不同,其插入操作限定在线性表的一端进行,删除操作限定在线性表的另一端进行,队列插入操作又称为入队,删除操作又称为出队,允许进行插入的一端称为队尾(rear),允许进行删除的一端称为队头(front)。处于队头位置的数据元素称为队头元素。处于队尾位置的数据元素称为队尾元素。不含任何数据元素的队列称为空队。2队列2.2队列的基本操作队列的除了在队头进行出队和队尾进行入队

7、外,还有初始化、判空等操作,常用的基本操作有:(1)初始化队列InitQueue(Q)。其作用是构造一个空队列Q。(2)判断队列空EmptyQueue(Q)。其作用是判断是否是空队列,若队列Q为空,则返回1;否则返回0。(3)入队EnQueue(Q,x)。其作用是当队列不为满时,将数据元素x插入队列Q的队尾,使其为队列Q的队尾元素。(4)出队DeQueue(Q,x)。其作用是当队列Q不为空时,将队头元素赋给x,并从队列Q中删除当前队头元素,而其后继元素成为队头元素。(5)取队头元素GetFront(Q,

8、x)。其作用是当队列Q不为空时,将队头元素赋给x并返回,操作结果只是读取队头元素,队列Q不发生变化。UGS由于队列是操作受限制的线性表,因此与线性表类似,队列也有两种存储结构,即顺序存储结构和链式存储结构。队列的顺序存储结构需要使用一个数组和两个整型变量来实现,利用数组来顺序存储队列中的所有元素,利用两个整型变量来分别存储队首元素和队尾元素的下标位置,分别称它们为队首指针和队尾指针。队列也是操作受限的线性表。限定在队尾处插入,而在队头处删除

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。