备战蓝桥杯----数据结构及STL应用(基础2)

上次我们讲了vector的大致内容,接下来让我们讲一下栈,队列吧!

什么是栈呢?

很简单,我们用的羽毛球桶就是,我们取的球,是最后放的,栈是一种先进后出的数据结构。

方法函数

s.push(e)e元素入栈
s.pop()移除栈顶元素
s.top()取得栈顶元素
s.empty()判断栈是否为空
s.size()返回栈内元素的个数

什么是队列呢?

队列是一种先进先出的数据结构,就像我们去上厕所,先排队的先上。

方法函数

q.front()返回队首元素
q.back()返回队尾元素
q.push(e)尾部添加一个元素
q.pop()删除第一个元素
q.size()返回队列的元素个数
q.empty()判断是否为空

接下来我们讲一下双端队列及优先队列:

双端队列(deque)

顾名思义,就是首尾都可插入和删除的数据结构(它可以用sort进行排序)

方法函数

d.push_back(x)/d.push_front(x)把x插入队尾/队首
d.back()/d.front()返回队尾/队首元素
d.pop_back()/d.pop_front()删除队尾/队首元素
d.erase(iterator it)删除某个元素
d.erase(iterator first,iterator last)删除[first,last)的元素
d.empty()判断其是否为空
d.size()返回其元素数量
d.clear()清空deque

优先队列(十分有用)

本质上是堆,由完全二叉树实现。

初始化定义:

#include<bits/stdc++.h>
using namespace std;
int main(){
    priorty_queue<int> q;}//定义

函数方法

q.top()访问队首元素
q.push()入队
q.pop()队首元素出队
q.size()队列元素个数
q.empty()是否为空

设置优先级

#include<bits/stdc++.h>
using namespace std;
int main(){
    priority_queue<int> pq;//默认为大根堆
    priority_queue<int,vector<int>,greater<int>> q;//小根堆,int为堆中的数据类型
      priority_queue<int,vector<int>,less<int>> q;}//大根堆,int为堆中的数据类型

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

怎样做好Code Review

Code Review方案 定义 Code Review代码评审是指在软件开发过程中&#xff0c;通过对源代码进行系统性检查的过程。通常的目的是查找各种缺陷&#xff0c;包括代码缺陷、功能实现问题、编码合理性、性能优化等&#xff1b;保证软件总体质量和提高开发者自身水平 code review …

SRM是什么意思?SRM供应商管理系统哪个好?

阅读本文&#xff0c;您将了解&#xff1a;一、SRM是什么意思&#xff1b;二、SRM的应用价值&#xff1b;三、SRM供应商管理系统哪个好&#xff1f;推荐在零代码平台自主开发。 在当今快速变化的商业环境中&#xff0c;企业之间的协作和效率至关重要。供应链管理作为企业运营的…

HarmonyOS鸿蒙学习笔记(24)AppScope的icon和UIAblity的icon的区别

在HarmonyOS中有两个配置文件app.json5配置文件和module.json5配置文件&#xff0c;两个配置文件都有icon和label标签&#xff1a; 二者区别如下&#xff1a; app.json5的icon app.json5里面的icon和label:对应的是应用图标和应用标签&#xff0c;应用图标和标签是在设置应用…

HarmonyOS --@state状态装饰器

在声明式UI中&#xff0c;是以状态驱动视图更新。 状态&#xff08;state&#xff09;&#xff1a;指驱动视图更新的数据&#xff08;被装饰器标记的变量&#xff09;。 试图&#xff08;view&#xff09;&#xff1a;基于UI描述渲染得到用户界面 State装饰器标记的变量必须初…

C# Socket 允许控制台应用通过防火墙

需求&#xff1a; 在代码中将exe添加到防火墙规则中&#xff0c;允许Socket通过 添加库引用 效果&#xff1a; 一键三联 若可用记得点赞评论收藏哦&#xff0c;你的支持就是写作的动力。 源地址: https://gist.github.com/cstrahan/513804 调用代码: private static void …

雅特力AT32 Workbench图形化代码生成工具,简化嵌入式开发利器

嵌入式系统应用市场广泛&#xff0c;早已遍及日常生活&#xff0c;随着产品需求复杂度的提升&#xff0c;32位MCU开发难度也随之增加&#xff0c;如何降低开发成本&#xff0c;缩短开发周期&#xff0c;是所有嵌入式开发人员的共同课题。 面对市场竞争日益加剧的情形&#xff…

【Web前端实操17】导航栏效果——滑动门

滑动门 定义: 类似于这种: 滑到导航栏的某一项就会出现相应的画面,里面有对应的画面出现。 箭头图标操作和引用: 像一些图标,如果需要的话,可以找字体图标,比如阿里巴巴矢量图标库:iconfont-阿里巴巴矢量图标库 选择一个——>添加至购物车——>下载代码 因…

实战 | OpenCV+OCR实现弧形文字识别实例(详细步骤 + 源码)

导 读 本文主要介绍基于OpenCV+OCR实现弧形文字识别实例,并给详细步骤和代码。源码在文末。 背景介绍 测试图如下,目标是正确识别图中的字符。图片来源: https://www.51halcon.com/forum.php?mod=viewthread&tid=6712 同样,论坛中已经给出了Halcon实现代码,…

Linux文件管理(下)

上上篇介绍了Linux文件管理的上部分内容&#xff0c;这次继续将 Linux文件管理的剩余部分说完。内容如下。 一、查看文件内容 1、cat 命令 1.1 输出文件内容 基本语法&#xff1a; cat 文件名称主要功能&#xff1a;正序输出文件的内容。 eg&#xff1a;输出 readme.txt文…

《幻兽帕鲁》1月29日游戏服务器推荐!腾讯云降低规格再次降价!

腾讯29日刷新规格&#xff0c;从14M降低到12M&#xff0c;硬盘和流量都有降低&#xff0c;但价格打下来了&#xff01;价格从66元/月降低到32元/月&#xff0c;277元/3个月降低到96元/3个月&#xff01; 三大厂商4核16G的云服务器价格对齐&#xff0c;不过具体参数略有不同 阿里…

w24文件上传之PHP伪协议

PHP支持的伪协议 file:// - 访问本地文件系统 http:// - 访问网址 ftp:// - 访问文件 php:// -访问各个输入/输出流 zlib:// -压缩流 data:// - 数据 glob:// -查找匹配的文件路径模式 phar:// - php归档 ssh2:// - Secure shell 2 rar:// - RAR ogg:// - 音频流 expect:// - …

力扣(LeetCode)227. 基本计算器 II

给你一个字符串表达式 s &#xff0c;请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [-231, 231 - 1] 的范围内。 注意&#xff1a;不允许使用任何将字符串作为数学表达式计算的内置函数&#…

还能这样学Linux内核,非我族类!

哈喽&#xff0c;我是子牙&#xff0c;一个很卷的硬核男人。深入研究计算机底层、Windows内核、Linux内核、Hotspot源码……聚焦做那些大家想学没地方学的课程 今天的互联网江湖&#xff0c;受大环境影响&#xff0c;已经不似前些年那般朝气蓬勃&#xff0c;裁员严重&#xff…

C#简单使用Yolov5的Onnx格式模型进行目标检测

背景 最近要离职了&#xff0c;同事需要了解一下C#如何使用yolov5系列onnx格式模型进行目标检测&#xff0c;由于其对C#不熟练&#xff0c;可能会影响公司后续的开发进度&#xff0c;所以趁着还在&#xff0c;赶紧把手尾搞好。 方案 1、创建一个C# DotNet 8 控制台项目[可千…

Phoncent博客GPT写作工具

对于许多人来说&#xff0c;写作并不是一件轻松的事情。有时候&#xff0c;我们可能会遇到写作灵感枯竭、写作思路混乱、语言表达困难等问题。为了解决这些问题&#xff0c;Phoncent博客推出了一款创新的工具——GPT写作工具&#xff0c;它利用了GPT技术&#xff0c;为用户提供…

EasyCVR视频智能监管系统方案设计与应用

随着科技的发展&#xff0c;视频监控平台在各个领域的应用越来越广泛。然而&#xff0c;当前的视频监控平台仍存在一些问题&#xff0c;如视频质量不高、监控范围有限、智能化程度不够等。这些问题不仅影响了监控效果&#xff0c;也制约了视频监控平台的发展。 为了解决这些问…

Kafka-服务端-GroupMetadataManager

GroupMetadataManager是GroupCoordinator中负责管理Consumer Group元数据以及其对应offset信息的组件。 GroupMetadataManager底层使用Offsets Topic,以消息的形式存储Consumer Group的GroupMetadata信息以及其消费的每个分区的offset,如图所示。 consumer_offsets的某Partiti…

解决ESP32板载WS2812B LED反色问题及工作状态灯的应用

本文主要介绍使用.Net nanoFramework驱动驱动 ESP32-S3-Zero 板载的 WS2812B LED的问题&#xff0c;以及如何设计一个灯光控制类&#xff0c;来方便的使用工作状态灯来显示设备的工作状态。 1. 引言 在使用Net nanoFramework驱动 ESP32-S3-Zero 的板载 WS2812B LED 时&#xf…

OpenDataLab 大模型训练数据集下载记录

1、访问网站&#xff1a;OpenDataLab 引领AI大模型时代的开放数据平台 &#xff08;操作之前需要先注册登录&#xff09; 2、点击数据类型&#xff0c;点击某个数据集进入&#xff0c;会看到数据集的各种详细信息如下图&#xff1a; 3、点击cli下载&#xff0c;第一次进入点击…

每日一题——LeetCode1365.有多少小于当前数字的数字

方法一 暴力循环 对于数组里的没一个元素都遍历一遍看有多少元素小于当前元素 var smallerNumbersThanCurrent function(nums) {let n nums.length;let ret [];for (let i 0; i < n; i) {let count 0;for (let j 0; j < n; j) {if (nums[j] < nums[i]) {count…