浅谈线性表——队列

文章目录

  • 一、什么是队列?
  • 二、队列底层
  • 三、自我实现一个队列
    • 3.1、链式存储
      • 3.1.1、单向链表实现队列的实现代码
      • 3.1.2、双向链表实现队列的实现代码
    • 3.2、顺序存储
      • 3.2.1、循环队列的实现代码

一、什么是队列?

队列是只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表。其具有先进先出的特点。

入队列:进行插入操作的一端称为队尾
出队列:进行删除操作的一端称为队头

队列有:队列、双端队列、循环队列、阻塞队列…

在这里插入图片描述

二、队列底层

在java中,队列Queue是一个接口,LinkedList集合类实现了Queue接口,因此队列底层其实是一个LinkedList。

队列Deque叫做双端队列,也是一个接口,Deque接口实现了Queue接口。双端队列的队尾可以入队,也可以出队;队头可以出队,也可以入队。而队列Queue只能在队尾入队,队头出队。

在这里插入图片描述

三、自我实现一个队列

队列是线性表,因此既可以链式存储,又可以顺序存储:

3.1、链式存储

链式存储:使用单向链表自我实现一个队列。
在这里插入图片描述

3.1.1、单向链表实现队列的实现代码

队列的链式存储——单向链表实现队列

3.1.2、双向链表实现队列的实现代码

队列的链式存储——双向链表实现队列

3.2、顺序存储

在这里插入图片描述
循环队列:
在这里插入图片描述

3.2.1、循环队列的实现代码

循环队列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1535064.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

性能诊断的方法(五):架构和业务诊断

关于性能诊断的方法,我们可以按照“问题现象—直接原因—问题根源”这样一个思路去归纳。我们先从问题的现象去入手,包括时间的分析、资源的分析和异常信息的分析。接下来再去分析产生问题现象的直接原因是什么,这里我们归纳了自上而下的资源…

Streaming OpenAI results from a Lambda function using Python

题意:使用 Python 从 Lambda 函数流式传输 OpenAI 结果 问题背景: Im trying to stream results from Open AI using a Lambda function on AWS using the OpenAI Python library. For the invoke mode I have: RESPONSE_STREAM. And, using the exampl…

调用智谱AI异步请求流式方法回复

官方代码可以去查看https://github.com/MetaGLM/zhipuai-sdk-java-v4/blob/main/src/test/java/com/zhipu/oapi/AllToolsTest.java 效果展示 提问效果: 回答效果: 1、Maven配置 <dependency><groupId>cn.bigmodel.openapi</groupId><artifactId>…

怎么很多张图片拼接成一张?试试这几种图片拼接方法!

怎么很多张图片拼接成一张&#xff1f;在繁忙的现代生活中&#xff0c;我们不断地捕捉和累积着各式各样的图像&#xff0c;它们如同记忆的珍珠&#xff0c;串联起生活的每一个瞬间&#xff0c;然而&#xff0c;随图片数量的激增&#xff0c;管理它们成为了一项挑战&#xff0c;…

JavaScript --函数作用域变量的使用规则(局部和访问)

访问规则&#xff0c;就近原则 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"w…

通过实时平衡生物反馈系统和XSENS动捕系统,改善康复训练流程

最新研究表明&#xff0c;通过将Xsens动作捕捉技术与创新的实时生物反馈设备相结合&#xff0c;可以有效改善患者的康复治疗方式。该解决方案有望显著提高患者的平衡控制和康复效果&#xff0c;帮助其应对各种平衡和运动挑战。 案例关键点一览 一种改善平衡训练的新装置&#x…

C++:STL详解(一)string类的基本介绍与使用方式

✨ Blog’s 主页: 白乐天_ξ( ✿&#xff1e;◡❛) &#x1f308; 个人Motto&#xff1a;实践是检验真理的唯一标准&#xff01;&#xff01;&#xff01;敲代码需要勤快点&#xff01;&#xff01;&#xff01;&#xff01; &#x1f4ab; 欢迎来到我的学习笔记&#xff0…

2024年度10款视频剪辑软件分享

在视频创作日益盛行的今天&#xff0c;一款强大而易于上手的视频剪辑软件成为了每位创作者不可或缺的工具。无论是专业电影制作人、Vlog博主&#xff0c;还是视频编辑爱好者&#xff0c;都能在市场上找到适合自己的那一款。以下是2024年度推荐的10款视频剪辑软件&#xff0c;涵…

OpenHarmony(鸿蒙南向开发)——轻量和小型系统三方库移植指南(二)

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ OpenHarmony&#xff08;鸿蒙南向开发&#xff09;——轻量系统芯片移植指南(一) Op…

Windows 环境下 vscode 配置 C/C++ 环境

vscode Visual Studio Code&#xff08;简称 VSCode&#xff09;是一个由微软开发的免费、开源的代码编辑器。它支持多种编程语言&#xff0c;并提供了代码高亮、智能代码补全、代码重构、调试等功能&#xff0c;非常适合开发者使用。VSCode 通过安装扩展&#xff08;Extension…

Spring Cloud常见面试题

1.请说说你用过Spring Cloud哪些组件&#xff1f;这些组件分别有什么作用&#xff1f; 1、注册中心&#xff1a;Eureka、Nacos、Zookeeper、Consul&#xff1b;&#xff08;服务注册&#xff09; 2、负载均衡&#xff1a;Ribbon、LoadBalancer&#xff1b;&#xff08;客户端的…

SpringBoot框架下的房产销售系统开发

第一章 绪 论 1.1背景及意义 房产销售也都将通过计算机进行整体智能化操作&#xff0c;对于房产销售系统所牵扯的管理及数据保存都是非常多的&#xff0c;例如管理员&#xff1b;首页、个人中心、用户管理、销售经理管理、房源信息管理、房源类型管理、房子户型管理、交易订单管…

MYSQL数据库——InnoDB存储引擎

一.逻辑存储结构 二.架构 1.内存结构 1.缓冲池&#xff08;buffer_pool&#xff09; 缓冲池buffer_pool:缓冲池是主内存中的一个区域&#xff0c;里面可缓存磁盘上经常操作的真实数据&#xff0c;在执行增删改查操作时&#xff0c;先操作缓冲池中的数据&#xff08;若缓冲池没…

一个软件分发和下载的网站源码,带多套模板

PHP游戏应用市场APP软件下载平台网站源码手机版 可自行打包APP&#xff0c;带下载统计&#xff0c;带多套模板&#xff0c;带图文教程 代码下载&#xff1a;百度网盘

19. 删除链表的倒数第 N 个结点【 力扣(LeetCode) 】

零、LeetCode 原题 19. 删除链表的倒数第 N 个结点 一、题目描述 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 进阶&#xff1a;你能尝试使用一趟扫描实现吗&#xff1f; 二、测试用例 示例 1&#xff1a; 输入&#xff1a;hea…

开放式耳机哪个品牌好?分享四款开放式蓝牙耳机排行榜前十名

对于喜欢带耳机的人来说&#xff0c;选择一款适合的开放式耳机是十分重要的。在繁重的学习任务中&#xff0c;一副音质优秀、佩戴舒适的耳机可以大大提高学习效率。在选择开放式蓝牙耳机时&#xff0c;大家常常会面临一个问题&#xff0c;那就是哪个品牌的质量最好&#xff1f;…

RSTP/MSTP 笔记和配置实验

RSTP: Rapid Spanning Tree Protocol &#xff08;802.1w&#xff09; 一、问题: Why RSTP 可以快速切换&#xff1f; 1、端口角色增加: 两种到五种 从 STP 的两种角色: DP&#xff1a;Designated Port RP&#xff1a;Root Port 增加到了五种角色&#…

java项目之网上商城系统设计与实现(源码+文档)

项目简介 网上商城系统设计与实现实现了以下功能&#xff1a; 网上商城系统设计与实现的主要使用者管理员的功能有&#xff1a;用户信息的查询管理&#xff0c;可以删除用户信息、修改用户信息、新增用户信息&#xff0c;还进行了对用户名称的模糊查询的条件。 &#x1f495;…

虚拟机Linux+Ubuntu操作系统 如何在虚拟机上安装docker VMPro 2024在线激活资源

一般情况下 不建议在windows系统上安装docker Windows本身就自带一个虚拟机叫WSL 但是不推荐在日常使用的电脑上安装 我们要下一个虚拟机 我们在window上安装docker会被告知WSL内核太老 我们要一个专业的 隔离的虚拟机软件 推荐使用虚拟机 这是我们的虚拟机软件 我们这边…

音视频推流中使用wireshark进行抓包分析RTMP

一、前期工作 最近使用开发板采集音视频数据合成FLV流后进行推流到PC端&#xff08;RTMP协议&#xff09;&#xff0c;PC端需要安装对应的nginx以及支持rtmp的nginx&#xff0c;在网上找了教程后安装成功&#xff0c;现在使用wireshark工具对开发板于pc端之间的通信协议进行解析…