* 队列的特点:先进先出
* 与堆栈相比,栈的操作始终是一个方向,而队列的操作在两端
*
* 如果按照原始的方法(即不考虑空间浪费,直接插,插到底拉倒)实现队列,那么当一边添加,一边删除时,添加到最后,rear到索引最大值(这时又不能往回插入)
* 必会造成大量空间浪费,为了尽可能利用资源空间,采用循环数组的机制来减少浪费
*
* 使用循环数组会出现的问题:
* 1.如何实现循环数组?
* 2.实现了循环数组后,当队列空 rear==front , 当队列满也是 rear==front ,那么如何区分这两者?
*
* 2.rear==front当此条件成立,队列为空,这点不变,主要更改队列满的条件,在对队列操作中
* 与堆栈相比,栈的操作始终是一个方向,而队列的操作在两端
*
* 如果按照原始的方法(即不考虑空间浪费,直接插,插到底拉倒)实现队列,那么当一边添加,一边删除时,添加到最后,rear到索引最大值(这时又不能往回插入)
* 必会造成大量空间浪费,为了尽可能利用资源空间,采用循环数组的机制来减少浪费
*
* 使用循环数组会出现的问题:
* 1.如何实现循环数组?
* 2.实现了循环数组后,当队列空 rear==front , 当队列满也是 rear==front ,那么如何区分这两者?
*
* 回答:
关键点在于(front+1)% maxSize ,下面两个操作都是基于此完成的
* 2.rear==front当此条件成立,队列为空,这点不变,主要更改队列满的条件,在对队列操作中
* 让rear front之间至少空一个位,让他两碰不到一起即可