第四篇 数据结-队列和串.docVIP

  • 10
  • 0
  • 约2.06万字
  • 约 14页
  • 2016-10-14 发布于广东
  • 举报
第四篇 数据结-队列和串

§9.3 队列 队列是不同于栈的另一种线性表。在日常生活中,无论是购物、订票或候车都有可能要排队。排队所遵循的原则是“先来先服务”,后来者总是加到队尾,排头者总是先离开队伍。队列就是从日常生活中的排队现象抽象出来的。 一、队列的定义 所谓队列,就是允许在一端进行插入,在另一端进行删除的线性表。允许插入的一端称为队尾,通常用一个队尾指针r指向队尾元素,即r总是指向最后被插入的元素;允许删除的一端称为队首,通常也用一个队首指针f指向排头元素的前面。初始时f=r=0(如下图)。 显然,在队列这种数据结构中,最先插入在元素将是最先被删除;反之最后插入的元素将最后被删除,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。与栈相似,队列的顺序存储空间可以用一维数组q[1‥m]模拟: 我们按照如下方式定义队列: Const m=队列元素的上限; Type equeue=array[1…m] of qtype;{队列的类型定义} Var q:equeue; {队列} r,f:integer; {队尾指针和队首指针} 二、队列的基本运算 队列的运算主要有两种:入队(aDD)和出队(DEL) 1、过程ADD(q,x,r)q的尾端插入元素x procedure ADD(var q: equeue;

文档评论(0)

1亿VIP精品文档

相关文档