创建队列、塞值和拿值
当我们创建一个LinkedList的时候,就可以用来模拟队列,因为该集合里有大量操作首尾元素的方法,之后就可以在该队列里进行数据的添加和获取。
但是当我们使用数组来实现时,如何创建一个队列呢?最大值怎么确定?首尾初始值怎么确定?
这一步骤中我就有了一些疑惑,如果我把创建队列、添加队列数据和删除队列数据分别用三个方法来表示,那么队列的首尾值该怎么跟随着队列呢?难道是要把它存储到创建的队列中?似乎不太合理,但是如果是每次使用队列的时候单独确定首尾值然后再传递的话那也显得不太合理,毕竟这个应该是队列的一个属性,咦?写到这里我突然想到,既然是队列的属性,那么把它设计成一个类,然后创建队列对象不就行了?
之后又出现了一个疑惑,就是假如我把数据填满,rear此刻是最大值,然后从我头部拿掉几个,此时数据还能塞得进去吗?由于我塞数据的时候是以rear和最大值做的比较,所以会提示数组已满,但实际上我拿掉几个之后头部又空了,但是没办法