2022年计算机二级公共基础知识学习教程栈和队列_第1页
2022年计算机二级公共基础知识学习教程栈和队列_第2页
2022年计算机二级公共基础知识学习教程栈和队列_第3页
2022年计算机二级公共基础知识学习教程栈和队列_第4页
全文预览已结束

下载本文档

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

文档简介

1、2022 年计算机二级公共基础知识学习教程:栈和队列(四)栈和队列 1栈及其根本运算栈栈是一种特别的线性表,它是限定在一端进展插入和删除的线性表。它的插入和删除只能在表的一端进展,而另一端是封闭的,不允许进展插入和删除操作。在栈中,允许插入和删除操作一端称为栈顶,不允许插入和删除操作的一端则称为栈底。栈顶的元素总是最终被插入的元素,也是最先被删除的元素。它遵循的原则是:先进后出或后进先出。堆栈指针总是指向栈顶元素的。2)栈的挨次存储及其运算在栈的挨次存储空间S(1:m)中,S(bottom)通常为栈底元素,S(top)为栈顶元素。Top=0 表示栈空;top=m 表示栈满。1)入栈运算即在栈的

2、顶部插入一个新元素。操作方式是:将栈顶指针加1,再将元素插入至指针所指的位置。退栈运算退栈运算马上栈顶元素取出并赋给一个指定的变量。操作方式是:先将栈顶元素赋给指定的变量,再将栈顶指针减 1。读栈顶元素将栈顶元素赋给某一指定变量,但栈顶指针不变。2队列及其根本运算1)队列队列即是允许在一端进展插入,而在另一端进展删除的线性表。允许插入的一端称为队尾,通常用一个尾指针指向队尾;允许删除的一端称为队首,通常用一个队首指针指向排队元素的前一个位置。队列遵循的规章是:先进先出或后进后出2)循环队列及其运算队列的挨次存储构造一般采纳循环队列的形式。循环队列,即是次队列存储空间的最终一个位置绕到第一个位置

3、,形成规律上的环状空间,供队列循环使用。在循环队列中,用队尾指针 rear 指向队列中的队尾元素,用排头指针front 指向排头元素的前一个位置,因此,从排头指针 front 指向的后一个位置到队尾指针 rear 指向的位置之间全部的元素均为队列中的元素。循环队列的初始状态为空,即 rear=front=m。这里 m 即为队列的存储空间。循环队列的根本运算:入队运算和退队运算。入队运算:每进展一次入队运算,队尾指针加 1。当队尾指针 rear=m+1 时,即表示队列空间的尾部已经放置了元素,则下一个元素应当旋转到队列空间的首部,即rear=1退队运算:每退队一个元素,排头指针加 1。当排头指针

4、 front=m+1 时,即排头指针指向队列空间的尾部,退队后,排头指针指向队列空间的开头,即front=1。在队列操作时,循环队列满时,front=rear,队列空时,也有rear=front,即在队列空或满时,排头指针和队尾指针均指向同一个位置。要推断队列空或满时,还应增加一个标志,s 值的定义:推断队列空与队列满的条件下: 队列空的条件:s=0队列满的条件:s=1、front=rear入队运算即在队尾参加一个新元素。这个运算有两个根本操作:首先,将队尾指针加 1,即 rear=rear+1,当 rear=m+1 时,置 rear=1,然后,将新元素插入到队尾指针指向的位置。当循环队列非空(s=1),且 front=rear 时,队列满,不能进展入队操作。此状况称“上溢”。退队操作马上队首的元素赋给一个指定的变量。该运算也有两个根本操作:首先,将排头指针加 1,即 front=front+1,当 front=m+1

温馨提示

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

评论

0/150

提交评论