数据结构 -- 队列Queue

一、队列简介

定义

队列(queue)在计算机科学中,是一种先进先出的线性表。它只允许在表的前端进行删除操作,而在表的后端进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列

简单的可以想成我们排队买东西,我们只能从队尾进入排队之中(我们都是良好公民,不插队),在队首的人先买到东西付款。

1. 队列是一种线性结构;
2. 相比数组,队列对应操作的是数组的子集;
3. 只能一端队尾添加元素只能另一端(队首)取出元素 。
   先进先出的数据结构(先到先得First In First Out【FIFO】)。

二、代码实现 

我们要实现它,通过上面描述可知,我们要有入队和出队的操作。

1. 队列接口

 public interface Queue{
    int getSize(); //返回元素的个数
    E getFront(); //返回队首元素内容
    boolean isEmpty(); //判断是否为空
    void enqueue(E e); // 入队
    E dequeue(); //出队
}

2.循环队列

循环队列中有两个新词,两个指针

  • front 指向队列的第一个元素,初始指向0
  • tail 指向队列的最后一个元素的后一个位置,初始指向0
  • 循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列结构中,当存储空间的最后一个位置已被使用而再要进入队运算时&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值