数据结构之队列的顺序存储结构

定义

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。


队列的抽象数据类型

ADT Queueis

  Data:

        采用任何存储方法存储一个队列

  Operation:

        enter(Object obj);//入队,向队尾添加一个元素

        leave();//出队,从队首删除一个元素

        peek();//返回队首的一个元素

        clear();//清空对列;

        isEmpty();//判空


队列的顺序存储结构与操作实现

队列的接口Queue

数据结构之队列的顺序存储结构_第1张图片
队列的接口

顺序队列实现类SequenceQueue

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

数据结构之队列的顺序存储结构_第2张图片
队列的初始化

入队操作

数据结构之队列的顺序存储结构_第3张图片
入队

出队操作

数据结构之队列的顺序存储结构_第4张图片
出队

返回队首元素

数据结构之队列的顺序存储结构_第5张图片
返回队首元素

清空和判空操作

数据结构之队列的顺序存储结构_第6张图片
清空和判空

测试类和结果

数据结构之队列的顺序存储结构_第7张图片
测试类和结果

你可能感兴趣的:(数据结构之队列的顺序存储结构)