20 - 队列 - 链队列——队列的链式表示和实现

news2024/11/26 4:42:56

前面我们学习了 先进先出、后进后出 的线性表- 队列,并且我们是使用数组进行了实现,那么这节课我们来使用链表来实现队列,即链队列!

队列的定义

队列(Queue)也是一种线性表, 但是它仅能在一端进行插入,而另一端进行删除的操作 ,插入的一端称为 队尾rear,删除的一端称为 队头front 。 向一个栈插入新元素又称作进队或入队, 从一个栈删除元素又称作出队或离队 。显而易见,它的特性是 先进先出、后进后出 。

链式队列内存中的结构

 

链式队列的特点

先进先出、后进后出

队列的定义一般遵循此结构:

//链表结构
struct Node
{
    ElemType elem;
    struct Node* next;
};

//定义队列
struct  Queue
{ 
    struct Node* front;// 队头删除
    struct Node* rear; // 队尾插入
};

从上面我们可以看出, 队列的实现采用的是链表,同时需要设置两个变量front与rear分别记录队列前后端的地址,front会随着数据删除而改变,rear会随着数据插入而改变。

队列的C语言实现:

#include<stdio.h>
#include<stdlib.h> 

typedef

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

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

相关文章

针对Weblogic上的shiro漏洞利用工具

工具介绍 日常项目中&#xff0c;可能会碰见部署在weblogic上的shiro&#xff0c;所以先写了这个生成攻击payload的小Demo&#xff0c;方便后面使用。但目前只支持无回显命令执行&#xff0c;后续回显、内存马功能后面出差后再写。 关注【Hack分享吧】公众号&#xff0c;回复关…

【HCIA】12.网络服务与应用

文件传输协议FTP FTP基于TCP&#xff0c;传输较慢&#xff0c;但是比较可靠。典型的C/S架构。双通道协议。TFTP基于UDP&#xff0c;传输较快&#xff0c;但是不可靠。FTP有两种不同的传输模式 ASCII模式 传输文本文件时会对文本内容进行编码方式转换&#xff0c;提高传输效率&…

音视频技术开发周刊 | 302

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 ChatGPT神器Code Interpreter终于开放&#xff0c;到底怎么用&#xff1f;这里有一份保姆级教程 Code Interpreter 已经正式开放。 上海世界AI大会&#xff1a;MidJourney…

Fedproto:原型聚合的联邦学习框架

题目&#xff1a;FedProto: Federated Prototype Learning across Heterogeneous Clients 网址&#xff1a;http://arxiv.org/abs/2105.00243 目录 前言 什么是原型&#xff1f; Fedproto框架 fedproto settings Fedproto算法 优化目标 全局聚合 局部更新 伪代码 前言…

抖音seo源码搭建,抖音矩阵系统源码分发,抖音矩阵账号管理

前言&#xff1a; 抖音seo源码&#xff0c;抖音矩阵系统源码搭建&#xff0c;抖音矩阵同步分发。抖音seo源码部署是需要对接到这些正规接口再来做开发的&#xff0c;目前账号矩阵程序开发的功能&#xff0c;围绕一键管理多个账号&#xff0c;做到定时投放&#xff0c;关键词自动…

[Linux笔记]vim基础

vim本身不是像vs那样什么都能做的ide&#xff0c;只是单纯的编辑器。 命令行输入vim 文件名&#xff0c;会以vim打开文件。 若当前路径下尚无该名称的文件&#xff0c;则会在保存退出时创建该文件。 在vim中操作&#xff0c;尽量不要用鼠标及其滚轮操作&#xff0c;而只用键盘…

tql!AD域渗透信息收集可视化工具

工具介绍 adalanche是一款ad域中的ACL可视化及利用工具&#xff0c;和BloodHound功能类似&#xff0c;能方便域渗透人员快速发现域中的弱点&#xff1b;有开源版和商业两个版本。 关注【Hack分享吧】公众号&#xff0c;回复关键字【230709】获取下载链接 相比于BloodHound工具…

nest.js 添加 swagger 响应数据文档

基本使用 通常情况下&#xff0c;在 nest.js 的 swagger 页面文档中的响应数据文档默认如下 此时要为这个控制器添加响应数据文档的话&#xff0c;只需要先声明 数据的类型&#xff0c;然后通过ApiResponse 装饰器添加到该控制器上即可&#xff0c;举例说明 todo.entity.ts …

DP1044 CAN FD 待机模式总线收发器替代TJA1044

5V 供电&#xff0c;IO 口兼容 3.3V&#xff0c;5Mbps&#xff0c;CAN FD 待机模式总线收发器DP1044是一款应用于 CAN 协议控制器和物理总线之间的接口芯片&#xff0c;可应用于卡车、公交、小汽车、工业控制等领域&#xff0c;支持 5Mbps 灵活数据速率&#xff08;Flexible Da…

新零售商城系统开发流程,新零售商城系统的前景如何?

近10年来&#xff0c;新零售商城系统火爆的原因在于移动互联网普及、个性化需求的增加、优化用户体验、数据驱动的营销和线上线下融合。新零售商城系统是基于互联网技术的商城平台&#xff0c;通过线上线下融合、数据分析和个性化推荐等功能&#xff0c;为零售商提供全方位的销…

N!Weblogic CVE-2023-21839 RCE

项目简介 Weblogic CVE-2023-21839/CVE-2023-21931/CVE-2023-21979 一键检测工具&#xff0c;这是来自长亭xray的代码&#xff0c;该漏洞扫描已集成到新版本xray中。 关注【Hack分享吧】公众号&#xff0c;回复关键字【230708】获取下载链接 无需任何Java依赖&#xff0c;构造…

【C语言】unsigned 与 signed 详解

1. 基本概念 整数在存储单元中都是以补码形式存储的&#xff0c;存储单元中的第 1 个二进制位代表符号。整型变量的值的范围包括负数到正数。 但是在实际应用中&#xff0c;有的数据的范围常常只有正值&#xff08;如学号、年龄等&#xff09;&#xff0c;为了充分利用变量的值…

网盘工具alist在Windows中使用教程

alist 软件同时支持 http 协议和 WebDAV 协议&#xff0c;并且支持很多网盘种类&#xff0c;这样就给我们留下了很多可玩的空间&#xff0c;比如&#xff1a; 实现网盘本地化访问关联本地的播放器&#xff0c;以实现很好的播放效果多端文件互传&#xff0c;比如将阿里云盘的文…

GO语言slice

slice: data lencap 以及存取的元素是可以安全读写的 Slice 扩容。 1&#xff0c;预估&#xff1a; 2&#xff0c;预估容量后*字节数 所需的内存 3&#xff0c;各种语言从OS上提前申请内存&#xff0c;匹配GO规则的内存

nosql——Redis,Mongodb

目录 一、redis 1、 string类型数据的命令操作 2、 list类型数据的命令操作 3、 hash类型数据的命令操作 4、Keys相关的命令操作 二、mongodb 1. 创建一个数据库 名字grade 2. 数据库中创建一个集合名字 class 3. 集合中插入若干数据 文档格式如下 4. 查找 5. 增加、…

配置jenkins 服务器与目标服务器自动化部署

在配置完远程构建后可以通过添加post-build step 执行shell脚本的方式将包传到远程服务器等一系列操作。 通过scp传输打包好的项目到目标服务器 按照链接 方式配置免密操作&#xff0c;需要注意的是要在jenkins 用户目录下配置生成私钥密钥&#xff0c;配置jenkins 的免密&…

SQL数据库(设置模式、数据库操作、表操作、列操作、SQL索引/约束、SQL数据类型、SQL函数、常见问题)

目录 SQL数据库 设置模式 SET NAMES utf-8 set sql_safe_updates1 数据库操作 CREATE DATABASE databaseName&#xff08;创建数据库&#xff09; USE databaseName&#xff08;选择数据库&#xff09; DROP DATABASE databaseName&#xff08;删除数据库&#xff09; …

一种集成低损耗二极管的SiC沟槽MOSFET,用于提高开关性能

标题&#xff1a;A Low-Loss Diode Integrated SiC Trench MOSFET for Improving Switching Performance 阅读日期&#xff1a;2023.7.17 研究了什么 该研究提出并通过数值模拟对一种集成低损耗二极管&#xff08;LLD-ATMOS&#xff09;的硅碳化物&#xff08;SiC&#xff09…

【SSCMS 内容管理系统】环境配置篇

SSCMS 内容管理系统基于微软 .NET Core 平台开发&#xff0c;用于创建在 Windows、Linux、Mac 以及 Docker 上运行的 Web 应用程序和服务。 具有”跨平台、分布式部署“、”网站群与多服务器发布“、”良好的扩展性与二次开发“ 等特点。 MySqlSSCMS系统&#xff08;V6版本&am…

初识react

初识react 第一步就给我出个问题版本太低 https://www.cnblogs.com/gslgb/p/16585233.html https://blog.csdn.net/xiangshiyufengzhong/article/details/124193898 第二个问题 便利生成dom 需要绑定key 不要总想着加冒号这不是vue 第三个问题 我p标签包裹 MapList组件 MapLis…