知识大全 09年自考《数据结构》各章要点一[7]

Posted

篇首语:不要以为努力只是自己的事,别忘了生命赐给你的春光!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 09年自考《数据结构》各章要点一[7]相关的知识,希望对你有一定的参考价值。

  队列(Queue)是一种运算受限的线性表 插入在表的一端进行 而删除在表的另一端进行 允许删除的一端称为队头(front) 允许插入的一端称为队尾(rear) 队列的操作原则是先进先出的 又称作FIFO表(First In First Out) 队列也有顺序存储和链式存储两种存储结构

  队列的基本运算有六种

  ·置空队 InitQueue(Q)

  ·判队空 QueueEmpty(Q)

  ·判队满 QueueFull(Q)

  ·入队 EnQueue(Q x)

  ·出队 DeQueue(Q)

  ·取队头元素 QueueFront(Q)

  顺序队列的 假上溢 现象 由于头尾指针不断前移 超出向量空间 这时整个向量空间及队列是空的却产生了 上溢 现象

  为了克服 假上溢 现象引入循环向量的概念 是把向量空间形成一个头尾相接的环形 这时队列称循环队列

  判定循环队列是空还是满 方法有三种

   ·一种是另设一个布尔变量来判断

  ·第二种是少用一个元素空间 入队时先测试((rear+ )%m = front)? 满 空

  ·第三种就是用一个计数器记录队列中的元素的总数

  队列的链式存储结构称为链队列 一个链队列就是一个操作受限的单链表 为了便于在表尾进行插入(入队)的操作 在表尾增加一个尾指针 一个链队列就由一个头指针和一个尾指针唯一地确定 链队列不存在队满和上溢的问题 在链队列的出队算法中 要注意当原队中只有一个结点时 出队后要同进修改头尾指针并使队列变空

cha138/Article/program/sjjg/201311/22847

相关参考