数据结构之队列的顺序存储结构
2018-02-12 本文已影响46人
理想是一盏灯
定义
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列的抽象数据类型
ADT Queueis
Data:
采用任何存储方法存储一个队列
Operation:
enter(Object obj);//入队,向队尾添加一个元素
leave();//出队,从队首删除一个元素
peek();//返回队首的一个元素
clear();//清空对列;
isEmpty();//判空
队列的顺序存储结构与操作实现
队列的接口Queue

顺序队列实现类SequenceQueue
数组的空间循环利用,出队通过(front+1)%queueArray.length移动队首元素,入队通过(rear+1)%queueArray.length移动队尾元素

入队操作

出队操作

返回队首元素

清空和判空操作

测试类和结果
