c++环形队列
c++环形队列
- c++环形队列
c++环形队列
#pragma once#include <iostream>
#include <vector>/// <summary>
/// - 环形队列
/// - 不是线程安全
/// </summary>
/// <typeparam name="T"></typeparam>
template <typename T>
class CircularQueue
{int rear, front;int size;T* arr = nullptr;int _len = 0;
public:CircularQueue(int s){front = rear = -1;size = s;arr = new T[s];_len = 0;}~CircularQueue() {if (arr){delete[]arr;}};bool enQueue(T value){if ((front == 0 && rear == size - 1) ||((rear + 1) % size == front)){printf("\nQueue is Full");return false;}_len++;if (front == -1){front = rear = 0;arr[rear] = value;}else if (rear == size - 1 && front != 0){rear = 0;arr[rear] = value;}else{rear++;arr[rear] = value;}return true;};bool deQueue(T* val = nullptr) {if (front == -1){printf("\nQueue is Empty");return false;}_len--;T data = arr[front];arr[front] = -1;if (front == rear){front = -1;rear = -1;}else if (front == size - 1)front = 0;elsefront++;if (val){*val = data;}return true;};void autoQueue(T value) {while (enQueue(value) == false){deQueue();}};int len(){return _len;};std::vector<T> list(){std::vector<T> vals;if (front == -1){return vals;}if (rear >= front){for (int i = front; i <= rear; i++){vals.push_back(arr[i]);}}else{for (int i = front; i < size; i++){vals.push_back(arr[i]);}for (int i = 0; i <= rear; i++){vals.push_back(arr[i]);}}return vals;}void displayQueue() {std::vector<T> ls = list();printf("\n displayQueue: ");for (size_t i = 0; i < ls.size(); i++){printf("%d ", ls[i]);}printf("\n");};
};//int main()
//{
// CircularQueue<int> q(5);
// q.autoQueue(14);
// q.autoQueue(22);
// q.autoQueue(13);
// q.autoQueue(-6);
//
// q.displayQueue();
//
// q.autoQueue(9);
// q.autoQueue(20);
// q.autoQueue(5);
//
// q.displayQueue();
//
// q.autoQueue(20);
//
// q.displayQueue();
// return 0;
//}相关文章:
c++环形队列
c环形队列 c环形队列 c环形队列 #pragma once#include <iostream> #include <vector>/// <summary> /// - 环形队列 /// - 不是线程安全 /// </summary> /// <typeparam name"T"></typeparam> template <typename T> cla…...
智能客服核心技术——预测会话与答案生成
1.信息检索 2. 句型模板匹配标准问题生成答案 3.根据知识图谱推理得到答案...
C语言——计算Fibonacci数列
方式一 for循环 (20位) #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int n;int a[20]{1,1};for ( n 1; n <20; n){a[n]a[n-2]a[n-1];}for ( n 0; n < 20; n){if(n%50)printf("\n");printf("%12d ",a[n]);}return 0; …...
【ASP.NET CORE】.NET 6.0 NET CORE MVC连接SQLSERVER数据库
项目装NuGet包,具体版本如下 在appsettings.json中,添加连接字符串 代码如下: "ConnectionStrings": {"MVCSqlContext": "Serverlocalhost;DatabaseAddress;User IDsa;Passwordsa;TrustServerCertificatetrue&q…...
filebeat日志收集工具
1、优缺点 filebeat收集的数据可以发往多个主机,即远程收集 filebeat无法实现数据过滤,一般结合logstash的数据过滤一块使用 2、远程收集多主机的日志实验 实验目的:一体化查看日志 实验条件: 主机名 服务器 IP地址 组件 …...
一文例说嵌入式 C 程序的内聚和耦合
1 - 原理篇 低耦合,是指模块之间尽可能的使其独立存在,模块之间不产生联系不可能,但模块与模块之间的接口应该尽量少而简单。这样,高内聚从整个程序中每一个模块的内部特征角度,低耦合从程序中各个模块之间的关联关系…...
python-爬虫(可直接使用)
爬虫(Web Scraping)是指通过编程自动化地获取互联网上的信息的过程。爬虫的目的通常是从网页中抓取数据,进行数据分析、处理或展示。以下是爬虫的基本流程和一些重要的概念: 爬虫基本流程: 确定目标: 确定要…...
Moonbeam生态项目分析 — — 去中心化交易所Beamswap
流动性激励计划Moonbeam Ignite是帮助用户轻松愉快体验Moonbeam生态的趣味活动。在Moonbeam跨链连接的推动下,DeFi的各种可能性在这里爆发。DeFi或许不热门,但总有机会捡漏,了解Monbeam生态项目,我们邀请Moonbeam大使分享他们的研…...
自研Xilinx高性能PCIe多通道DMA控制器
1 介绍 基于PCI Express Integrated Block,Multi-Channel PCIe QDMA Subsystem实现了使用DMA地址队列的独立多通道、高性能Continous或Scather Gather DMA,提供FIFO/AXI4-Stream用户接口。 基于PCI Express Integrated Block,Multi-Channel…...
人工智能原理复习--知识表示(二)
文章目录 上一篇产生式表示法推理方式 结构化表示语义网络语义网络表示知识的方法和步骤应用题目 框架表示法下一篇 上一篇 人工智能原理复习–知识表示(一) 产生式表示法 把推理和行为的过程用产生式规则表示,所以又称基于规则的系统。 产…...
【SpringBoot篇】登录校验 — JWT令牌
文章目录 🌹简述JWT令牌⭐JWT特点 🌺JWT使用流程🛸JWT令牌代码实现🍔JWT应用 🌹简述JWT令牌 JWT全称为JSON Web Token,是一种用于身份验证的开放标准。它是一个基于JSON格式的安全令牌,主要用于…...
leetcode每日一题34
89.格雷编码 观察一下n不同时的格雷编码有什么特点 n1 [0,1] n2 [0,1,3,2] n3 [0,1,3,2,6,7,5,4] …… 可以看到nk时,编码数量是nk-1的数量的一倍 同时nk编码的前半部分和nk-1一模一样 nk编码的最后一位是2k-1 后半部分的编码是其对应的前半部分的对称的位置的数字…...
王者荣耀游戏制作
1.创建所需要的包 2.创建怪物类 bear package beast;import wangzherogyao.GameFrame;public class Bear extends Beast {public Bear(int x, int y, GameFrame gameFrame) {super(x, y, gameFrame);setImg("img/bear.jpg");width 85;height 112;setDis(65);}} b…...
springboot post添加URL添加参数
出现 MissingServletRequestParameterException: Required String parameter pageNumber is not present 异常的原因是在请求中没有提供名为 pageNumber 的参数。 请确保发送 POST 请求时,在请求的 URL 或请求体中提供了名为 pageNumber 的参数,以满足方…...
『 MySQL数据库 』插入查询结果
文章目录 🎟️ 前言🎟️ 创建一张结构相同的表🎟️ 表内插入查询结果🎫 对表内数据进行去重🎫 配合ORDER BY排序后以及LIMIT分页对数据进行插入 🎟️ 前言 在MySQL数据库中不仅可以直接根据字段类型等对数据…...
【笔记】小白学习电路维修
学习视频(b站):从0开始学电路 从0开始学电路维修 p1 黄色长方体元件P2 故障率最高的元件p3带芯铜丝线圈是什么区分电感和变压器接入电路分析: p4 交流和直流分界线整流桥接线整流桥故障判断 带色环的不一定是电阻 p1 黄色长方体元…...
linux简述进程
目录 进程 一个正在运行的程序,一个程序运行至少要启动一个进程,主进程 子进程 一个进程正常运行,至少要启动一个线程,主线程 子线程 进程的生命周期: 进程状态产生的原因: 查看当前系统的进程 ps au…...
由于设置了全局 QWidget 背景导致QT QCalendarWidget 表态背景异常
解决: 单独设置QCalendarWidget 的qss : 对象是查看源码所得 QWidget#qt_calendar_navigationbar{ ...... } QToolButton#qt_calendar_prevmonth, #qt_calendar_nextmonth, #qt_calendar_monthbutton, #qt_calendar_yearbutt…...
数据库的重要你了解多少?如何保障数据库的安全?
随着信息技术的快速发展,数据库已经成为企业、组织以及个人日常生活中不可或缺的一部分。然而,随着数据库的广泛应用,其安全性问题也日益凸显。数据库的安全性主要包括数据的完整性、保密性和可用性。本文将探讨数据库安全性的重要性、以及如…...
距离“全自动”漏洞挖掘又近了一步!腾讯安全大数据实验室论文入选ACM CCS 2023
计算机领域国际权威学术顶会ACM CCS 2023于11月26日在丹麦哥本哈根开幕。腾讯安全大数据实验室团队论文《Hopper: Interpretative Fuzzing for Libraries》被大会收录,昨天,实验室研究员谢雨轩受邀出席大会进行主题分享。 该论文提出了解释性模糊测试&a…...
OpenClaw云端体验版:Phi-3-vision-128k-instruct沙盒环境快速验证
OpenClaw云端体验版:Phi-3-vision-128k-instruct沙盒环境快速验证 1. 为什么选择云端沙盒体验 当我第一次听说OpenClaw时,就被它"让AI像人类一样操作电脑"的理念吸引了。但作为一个谨慎的技术人,我习惯在正式投入时间前先做可行性…...
docker在centos7上的搭建
docker与传统虚拟机对比 传统虚拟机基于安装在主操作系统上(带环境安装) 缺点:资源占有多,冗余多,运行速度慢, dockers:打包软件运行所需所有资源,无需捆绑一整个操作系统&#x…...
4G5G专题-85: 架构 - 5G NR空中接口与协议栈演进
1. 5G NR空中接口设计原理 5G NR(New Radio)空中接口是5G网络的核心技术之一,它直接决定了无线信号的传输效率和质量。与4G LTE相比,5G NR在设计上做了许多突破性的改进,尤其是在低延迟和高带宽场景下表现尤为突出。 1…...
如何用readme.so快速制作专业README:揭秘实时预览与Markdown同步技术
如何用readme.so快速制作专业README:揭秘实时预览与Markdown同步技术 【免费下载链接】readme.so An online drag-and-drop editor to easily build READMEs 项目地址: https://gitcode.com/gh_mirrors/re/readme.so readme.so是一款功能强大的在线拖放编辑器…...
计算机毕业设计:Python气象数据可视化与采集管理系统 Flask框架 数据分析 可视化 爬虫 气象数据分析(建议收藏)✅
博主介绍:✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立软件开发工作室,专注于计算机相关专业项目实战6年之久,累计开发项目作品上万套。凭借丰富的经验与专业实力,已帮助成千上万的学生顺利毕业,…...
OpenClaw智能运维:Qwen3.5-9B实现服务器异常自动修复
OpenClaw智能运维:Qwen3.5-9B实现服务器异常自动修复 1. 为什么需要自动化运维助手 凌晨三点被报警短信吵醒的经历,相信每个运维工程师都不陌生。去年冬天的一个深夜,我顶着寒风打车到公司处理服务器磁盘爆满的问题时,突然意识到…...
基恩士KV8000系列程序与电芯上料机的精密控制:EtherCAT总线技术、多轴定位与智能管理功能
基恩士KV8000程序 ~ 基恩士KV8000系列程序,KV8000KV-C64XKV-C64T等输入输出模块,KV-XH16EC定位控制模块 电芯上料机 松下A6系列总线控制伺服电机,采用EtherCAT总线控制,绝对定位、相对定位,整台设备13个轴,…...
MTK平台Camera移植避坑指南:从驱动添加到DWS配置的完整流程(基于Kernel 4.19)
MTK平台Camera移植避坑指南:从驱动添加到DWS配置的完整流程(基于Kernel 4.19) 在嵌入式设备开发中,Camera模块的移植往往是系统集成中最具挑战性的环节之一。特别是基于MTK平台的Android设备,Camera驱动的移植涉及从内…...
Kaggle竞赛风向标:如何用地震数据集(如尼泊尔建筑数据)构建你的第一个灾害预测模型?
Kaggle竞赛实战:从地震数据到建筑损毁预测的完整机器学习流程 去年在尼泊尔参与灾后重建调研时,当地工程师递给我一份发皱的纸质表格——那是2015年大地震后他们手工录入的建筑评估记录。表格上"屋顶坍塌"、"地基移位"等潦草笔记背后…...
自动驾驶模仿学习避坑指南:为什么你的多模态融合模型总在十字路口“翻车”?
自动驾驶多模态融合的十字路口困境:从特征拼接走向全局理解的工程实践 当你的自动驾驶模型在封闭测试场地表现优异,却在无保护左转和行人突然穿行的复杂路口频繁"翻车"时,问题往往不在于单个传感器的精度,而在于那些看似…...
