队列同样也是一种受限的线性表,是一种先进先出的线性结构。
循环队列是属于顺序存储结构里面很好的实现方式。使用两个指标:队头和头尾指标来构成在数组上的循环使用。这里的队尾指标实际指向的是队尾的下一个元素,作用就是用来判断队列的空满,同时也不影响添加元素。
//队列的顺序存储结构-循环队列 class QueueCycleList<T> { private T[] _data; private int _front; private int _rear; private int _maxLength = 24; public QueueCycleList() { //留一个空位,用于判断队满的情况 this._data = new T[this._maxLength + 1]; _front = _rear = 0; } public QueueCycleList(int length) { if (length > 0) { this._maxLength = length; } this._data = new T[this._maxLength + 1]; this._front = this._rear = 0; } }