队列基础-普通队列与循环队列

483 阅读1分钟

一、队列基础知识

  1. 通常情况下,队列有一片连续的存储区,里面可以存储任意类型的元素。
  2. 普通队列中有两个指针:头指针尾指针
  3. 头指针指向队头元素,尾指针指向的位置应该是最后一个元素的下一位
  4. 普通队列操作:出队(删除)与入队(插入)。
  • 队列-出队,只允许从队头出队(头指针向后移动一步);
  • 队列-入队,尾指针位置插入元素后,尾指针向后移动一步;
  • 头部出队,尾部入队,是一个先入先出的结构(FIFO);
  • 队列-假溢出,当尾指针走到队列的最后一位(且头指针释放头部几个元素),再向队列中添加元素,这时超出队列存储区造成队列溢出;但实际上队列存储区中还有空的位置,只不过尾指针走到最后一位造成队列存满了的假象,叫队列假溢出。
  1. 循环队列,可以有效的利用队列的空间,避免队列假溢出。
  • 当尾指针处在队列最后一位,想再向队列添加一个元素时,发现往后找不到存储空间了,就把指针指向开始头部;

二、图例详解

image.png

image.png

image.png

image.png

image.png

image.png

解决假溢出-循环队列 image.png