主要是为了克服“假溢出”情况,系统作为队列用的存储区还没有满,但队列却发生了溢出,我们把这种现象称为"假溢出"。其实就是因为队列的first in first out特质所引起的,队列为获得first in first out特质,一般需要两个指针,一个称为“头指针”,一个称为“尾指针”,头指针用于在队列头部读出元素,尾指针用于在队列尾部插入新元素,先进去队列的元素位于队列的头部。对于使用顺序队列情况,随着队列尾部不断插入新元素,尾指针最终会指向分配给队列的最后的内存地址,当再有新元素要插入时,此时队列尾部已经无法插入新元素了。而头指针由于有元素出队列,队列内存空间的前面一部分其实还是空的,因此就造成了“假溢出”这种情况。循环队列就是为解决该问题的。(当然,解决假溢出还可以将队列元素做平移,但感觉使用循环队列会有更高的效率)。