对于循环队列中,为什么有一个存储空间被浪费的原理

在学习循环队列这一个知识点时候,我遇到了一些问题所以这也算是我的一些个人心得吧,我在学习这个知识点时候,喜欢生动形象的来解释原理,首先循环队列,我采用数组来存储,举个列子a[5]吧,一共有5个存储空间,其次,再来说一下循环队列有那些特征,首先循环循环,那必定是一个环,转呀转的,就当成一个操场一样,大家可以脑海里想象一下,其次,还有两个指针变量rear和front,刚开始,他俩都是在a[0]这个位置,因为现在没有元素,好了,此时突然有一个元素进来了,rear这变量就需要挪一下位置,移动到下一个空的位置,以方便,下次插入新的元素时候,有空的地方给新元素,好如此进行,终于rear到了a[4]这个位置,a[4]这个位置首先肯定是空的,因为rear就是为了告诉系统我有空位置,有新的元素要插入,你就到我这儿来吧,系统一听好的,你空啦,那我来了,那rear又要挪动位置给新的元素,他得去下一个空的位置,哎,rear突然发现,哦,你是循环队列啊,那下一个不就又回到了a【0】这个位置吗,可是啊,里面不是有元素了吗,rear一想我的任务是去找空的位置给新元素啊,这下咋办,凉凉了,哎,我真后悔应该在a[4]这个位置的时候就提前告诉系统,你别放新元素进来了,已经满了,放不下了,好了,那我下次就这么做,当我在最后一个空的位置时候,我就告诉系统,所以这也就是为什么循环队列存的元素个数总是比他占用的存储空间少一个的原因。以上都是我个人的一些心得,可能还有许多错误的地方,也希望大家可以多多交流,互相提高。

你可能感兴趣的:(对于循环队列中,为什么有一个存储空间被浪费的原理)