线性表数据结构解读(四)队列结构Queue

本文深入探讨了队列的基本概念,包括队列的定义、特点、满队列、空队列及循环队列的概念。此外,还讨论了队列的两种存储结构——顺序队列和链式队列,并提到了Android中Queue接口及其常见的实现类LinkedList。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在上一篇文章中,我们详细介绍了栈结构,并结合Stack源码进行了分析,相关文章大家可以点击这里回看我的博客:线性表数据结构解读(三)栈结构Stack

队列的定义

    队列是一种插入和删除分别在两端进行操作的线性表,一端进行插入操作,一端进行删除操作。

这里写图片描述

队列的特点

    我们把进入队列端称为队列的对尾,用rear表示;离开队列的一端成为队列的头,用front表示,即在队列的头进行删除操作。

满队列

    当一个队列rear指向最后一个位置时,不能够再进行插入操作,成为满队列状态。

空队列

    当front的位置在rear后面时,表示队列中没有元素可以离开,说明队列是空状态。

这里写图片描述

循环队列

    队列的头尾详解的顺讯存储结构称为循环队列

这里写图片描述

队列的缺点

    队列空和满都可能出现假空和假满的状态

栈的存储结构

● 顺序队列
    队列在顺序存储结构下所得到的结构,成为顺序队列。顺序栈类类似于数组,因此可以使用数组实现顺序栈的相关运算。

● 链式队列
    队列在链式存储结构下所得到的结构,称为链队。链式队列类似于指针,在java中可以通过类的对象引用实现指针运算。

这里写图片描述

在Android中,我们常见具有代表性的队列结构为Queue,但是Queue确是一个接口,具体源码如下。

public interface Queue<E> extends Collection<E> {
    /**
     * 添加方法
     * Inserts the specified element into this queue if it is possible to do so
     * immediately without violating capacity restrictions, <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值