蓝桥 队列
深入理解队列
# 理解队列:从生活中的排队到计算机的数据结构 队列(Queue)是计算机科学中一种常见的数据结构,它在计算机程序和算法中扮演着重要角色。然而,队列的概念并不仅仅局限于计算机领域,我们在日常生活中也能够轻松地找到许多队列的例子。本文将介绍队列的基本概念、实现方式以及它在计算机科学和日常生活中的应用。 ......
队列的具体实现方式
队列可以通过两种常见的实现方式来表示:顺序队列(数组实现)和链式队列(链表实现)。这两种方式在计算机科学中都广泛使用,每种实现方式都有其优势和适用场景。 ### 1. 顺序队列(数组实现): 顺序队列是使用数组来表示队列的一种实现方式。在顺序队列中,我们使用一个固定大小的数组来存储队列的元素,并使用 ......
[蓝桥杯 2022 国 B] 卡牌
## 题目描述 这天,小明在整理他的卡牌。 他一共有 $n$ 种卡牌,第 $i$ 种卡牌上印有正整数数 $i(i \in[1, n])$, 且第 $i$ 种卡牌现有 $a_{i}$ 张。 而如果有 $n$ 张卡牌,其中每种卡牌各一张,那么这 $n$ 张卡牌可以被称为一套牌。小明为了凑出尽可能多套牌, ......
c++环形队列的简单实现
``` template class CircularQueue { private: std::vector arr; size_t capacity; size_t head; size_t tail; size_t count; public: explicit CircularQueue(s ......
多线程+队列处理数据集合
//var users = new List<UserInfo>(); //for (int i = 0; i < 200000; i++) //{ // users.Add(new UserInfo // { // ID = i, // Name = "张三" + i.ToString(), // ......
【RabbitMQ】当队列中消息数量超过最大长度的淘汰策略
# 【RabbitMQ】当队列中消息数量超过最大长度的淘汰策略 ## 说明 最近在研究RabbitMQ如何实现延时队列时发现消息进入死信队列的情况之一就是当消息数量超过队列设置的最大长度时会被丢入死信队列,看到这时我就产生了一个疑问,到底是最后插入的消息还是最早插入的消息会被丢入死信队列呢?遗憾的是 ......
day2 栈、队列
功能受限的表结构: 栈: 队列: 只有两个口来进出数据,一个专门进入数据,另一个专门出数据,先进先出,FIFO表 顺序队列: 1、存储元素的连续内存的首地址 2、容量: 3、队头位置:出队 4、队尾位置:入队 运算:创建、销毁、清空、出队、入队、对空、队满、对头、队尾、元素数量 *需要注意的问题: ......
RocketMQ on openEuler 提供高性能消息队列的稳定性解决方案
RocketMQ on openEuler 提供高性能消息队列的稳定性解决方案 openEuler2023-06-27openEuler RocketMQ on openEuler,是一种将 RocketMQ 消息中间件通过容器化的方式部署在 openEuler 操作系统上运行,借助 openEul ......
Spring Boot中借助Redis实现分布式系统全局共享线程安全的阻塞队列
背景问题 我们都知道Java里的LinkedBlockingQueue,采用先进先出(FIFO)的方式存储元素,并且支持同时进行并发的读和写操作。内部使用ReentrantLock锁来保证多线程环境下的线程安全性。 LinkedBlockingQueue提供了以下主要方法: put(E e):将元素 ......
字符串,列表的内置方法(增加、修改、删除) 、可变类型与不可变类型 、字典 ,元组,集合的内置方法、队列和栈的概念
### 字符串的内置方法(较多,重要) ```python old_code = 'KeViN' print('这是返回给用户的验证码: %s' % old_code) new_code = input('请输入你的验证码:').strip() print(new_code) # 对验证码作一个判断 ......
P8708 [蓝桥杯 2020 省 A1] 整数小拼接 题解
## 前言 [传送门](https://www.luogu.com.cn/problem/P8708) [blog](https://www.luogu.com.cn/blog/JJL0610666/solution-p8708) # 思路 这种选出两个数拼接在一起的题,一看就可以使用 two-po ......
2023.7.16 linux 软中断Softirqs 队列 Workqueues 并发管理队列cmwq
Implementing work-deferring mechanisms 延期任务 Softirqs: Executed in an atomic context # kernel/softirq.c ; <linux/interrupt.h>. Tasklets: Executed in an ......
线性表——栈与队列
栈 栈(stack):先进后出,后进先出的数据结构。 栈是限定仅在表尾进行插入和删除操作的线性表。我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。需要注意,栈 ......
消息队列基础
消息队列本质是将同步处理转成异步处理 消息队列的基本要求不丢消息高可用高性能 消息队列名称 RabbitMQ RocketMQ Kafka 优点 轻量级 低延迟和高稳定性 1. 与周边生态系统的兼容性最好 2. 基于异步批量设计的异步收发性能最好 缺点 1. 消息大量堆积时性能大幅下降 2. 使用的 ......
队列
队列(Queue) 是 先进先出 (FIFO,First In, First Out) 的线性表 对头出,队尾进 4.3. 常见应用场景 当我们需要按照一定顺序来处理数据的时候可以考虑使用队列这个数据结构。 阻塞队列: 阻塞队列可以看成在队列基础上加了阻塞操作的队列。当队列为空的时候,出队操作阻塞, ......
优先队列(基于二叉树的堆)
代码出处 Go SDK container/heap/heap.go Interface 接口定义 type Interface interface { sort.Interface Push(x interface{}) // add x as element Len() Pop() interf ......
rabbitMQ死信队列和延迟交换机
一、死信队列(deadLetters) 1.死信产生的三种方式 (1)消息被消费者拒绝,requeue设置为false message在正常传输中消费者执行了nack或者reject且requeue变为false则将该message存储到死信交换机,再送入死信队列,重新被其他的消费者消费 (2)消息 ......
消息队列比较
一、消息队列常用的场景 1、削峰 例如我们做得考试系统中,用户通过人脸识别登录系统,考虑到考试系统的特殊性,三万名考生参加考试,需要记录人脸识别登录照片。从考试完结果上看,用户最大并发数在4000,于是我们采用rocketMq来进行异步消费用户人脸识别图片,当时统计rocketMq每秒1000消费消 ......
STM32:rtthread_消息队列
1 消息队列 消息队列是一种常用的线程间异步通讯方式; 消息队列能够接收来自线程或中断中不固定长度的消息,并把消息缓存在自己的内存空间中,供线程间进行异步通讯; 1.1 结构体定义 //rtconfig.h 源码默认注释掉未开启,用到消息队列的时候需要自己开启; #define RT_USING_M ......
6030: 海港 队列
描述 小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客。 小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况;对于第i艘到达的船,他记录了这艘船到达的时间ti (单位:秒),船上的乘 客数ki,以及每名乘客的国籍xi,1,xi,2, ......
CI3利用MYSQL,文件缓存实现消息队列
1、MYSQL新建一张自动编号的表c_mq,当用户提交表单申请,便向表中插入一条记录,并获取编号,用于缓存文件的命名,保证不会重复 2、当用户提交表单信息时,将表单值存入缓存文件 3、创建监控器方法,读取缓存文件内容,并插入MYSQL表中 代码: 后台: 用户提交表单值,生成缓存文件,插入c_mq记 ......
vue 任务队列
taskQueue.js export default class TaskQueue { constructor(max = 2) { // 控制请求最大并发数 this.max = max // 队列 用shift方法实现先进先出 this.taskList = [] setTimeout(() ......
单调栈与单调队列优化 dp
## 单调栈 将一个元素插入单调栈时,为了维护栈的单调性,需要在保证将该元素插入到栈顶后整个栈满足单调性的前提下弹出最少的元素。 例如,栈中自顶向下的元素为 $\{0,11,45,81\}$。 ![image](https://img2023.cnblogs.com/blog/2618414/202 ......
2022蓝桥杯B组(java)版
# 2022蓝桥杯b组 ## A题 ![img](https://img-blog.csdnimg.cn/4ac63a09fe784d7a94b710fc0cc48d09.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50, ......
关于消息队列的一次实践
最近在项目中遇到一种场景,在短时间内会收到多条消息,但是需要按照顺序执行。即先执行消息A,再执行B,再执行C,这样顺序执行。 想到了用队列,有序队列LinkedBlockingQueue,默认是无界队列,且是线程安全的。内部实现是通过链表,线程安全是通过ReentrantLock(可重入锁)实现的, ......
PHP+Redis消息队列
# 调用方式 ```php $redis = RedisManager::getInstance(); $queue = json_encode(['queue_id'=>$queueId,'question'=>$question],256); if($redis->LPush('QA_wecom ......
【网络】【TCP】TCP 半连接队列和全连接队列满了会发生什么?又该如何应对?
1 前言 这节我们来看个问题,就是TCP 半连接队列和全连接队列满了会发生什么?又该如何应对? 2 什么是 TCP 半连接队列和全连接队列? 在 TCP 三次握手的时候,Linux 内核会维护两个队列,分别是: 半连接队列,也称 SYN 队列; 全连接队列,也称 accepet 队列; 服务端收到客 ......
【数据结构与算法】队列算法题
## TS 实现队列 ```ts interface IQueue { // 入队 enqueue(item: T): void; // 出队 dequeue(): T | undefined; // 队首 peek(): T | undefined; //是否为空 isEmpty(): boole ......
Lamps(STL+双端队列)
Lamps 题面翻译 有 $n$ 盏灯,每盏灯有不亮,亮,坏掉 3 种状态。一开始每盏灯都不亮。 第 $i$ 盏灯有属性 $a_i,b_i$。每次操作你可以选择一盏灭的灯将其点亮,并得到 $b_i$ 的分数。 每次操作结束后,记有 $x$ 盏灯亮着,则所有 $a_i \le x$ 的灯 $i$ 都会 ......