news 2026/7/10 23:24:15

【C++】 STL容器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【C++】 STL容器

vector数组

定义:

vector 是C++ STL的一个容器类,
用于存储和管理的动态数组。

操作

  1. 定义
vector<数据类型、结构体>名称 vector<int>a;
  1. 添加元素
    (1)尾插
a.push_back(x)

(2)删除

a.pop_back()// 无参数

(3)访问元素

intx=a[0]// 通过下标访问前提所以内容

(4) 大小

intsize=a.size()// 获取当前元素个数

(5) 清空

a.clear()

(6) 判断是否为空

a.empty()

(7) 初始化

vector<int>b(n,0)// 创建一个包含n个元素的vector,初始值为0vector<int>c(b)
  1. 二维
    (1) 初始化
vector<vector<int>>d(n,vector<int>(m,0))// 创建一个n行,m列的二维vector,初始值为0

(2) 查找末尾元素

d.back()

(3) 查找首个元素

a.front()

queue队列

定义:

queue 是C++ STL的一个容器类,
特性是先进先出,后进后出。

操作

  1. 定义
queue<数据类型、结构体>名称 queue<int>q;
  1. 元素操作
    (1)尾部插入
q.push(x)// x 为插入元素

(2)头部弹出

q.pop()//pop里没有参数

(3)查看头部元素

q.front()

(4)查看尾部元素

q.back()

(5)查看队列长度

q.size()

(6)查看队列是否为空

q.empty()

「注意」:该函数空返回true,非空返回false。所以我们判断是否非空时一般这么写:

if(!q.empty()){// TODO}

stack栈

定义:

stack 是C++ STL的一个容器类,
特性是先进后出,后进先出。

操作

  1. 定义
stack<数据类型、结构体>名称 stack<int>t;
  1. 元素操作(关于栈我们一般称顶部和底部)
    (1)顶部插入
t.push()

(2)顶部弹出

t.pop()

(3)查看顶部元素

t.top()

(4)查看栈长度

t.size()

(5)查看栈是否为空

t.empty()

「注意」:该函数空返回true,非空返回false。所以我们判断是否非空时一般这么写:

if(!t.empty()){// TODO}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 23:23:52

制造业如何提升产品质量:从理念到落地的实战指南

一、引言&#xff1a;质量是制造业的生命线在竞争日益激烈的全球市场中&#xff0c;产品质量已成为制造业企业生存与发展的核心命脉。对于广大制造业从业者而言&#xff0c;提升产品质量不仅是满足客户需求、赢得市场信任的基础&#xff0c;更是降低成本、提高效率、实现可持续…

作者头像 李华
网站建设 2026/7/10 23:22:10

近期量化工具怎么选,先看规则流程能否承接

对已有量化经验的人来说&#xff0c;AI 带来的吸引力很直接&#xff1a;它似乎可以让策略表达、代码生成和问题排查都更快。但在选择量化工具之前&#xff0c;更关键的问题不是哪个工具看起来更全面&#xff0c;而是自己要完成什么、能控制到什么程度。工具要跟着当前任务走如果…

作者头像 李华
网站建设 2026/7/10 23:18:03

AI 驱动的智能合约运行时监控:链上异常模式识别与自动化告警策略

AI 驱动的智能合约运行时监控&#xff1a;链上异常模式识别与自动化告警策略 一、智能合约监控的困境与 AI 破局思路 智能合约部署到链上之后&#xff0c;开发者的控制力骤然下降。链上状态不可篡改的特性虽然是去中心化的基石&#xff0c;却也意味着任何逻辑漏洞一旦被利用&am…

作者头像 李华
网站建设 2026/7/10 23:17:22

深入理解文件系统(二)

个人主页:小则又沐风 个人专栏:<数据结构> <竞赛专栏> <C语言> <C> <Linux> 座右铭 悟已往之不谏&#xff0c;知来者之可追 目录 前言 "块"的概念 …

作者头像 李华
网站建设 2026/7/10 23:16:13

C#企业级高并发数据采集平台:工控现场复杂环境适配实战

摘要&#xff1a;在工控现场&#xff0c;“高并发”从来不是互联网意义上的QPS&#xff0c;而是数百台异构设备、毫秒级采集周期、724小时零丢失的工程挑战。本文以一条实际部署于锂电产线的C#数据采集平台为蓝本&#xff0c;完整拆解从驱动抽象层设计、异步IO调度、背压缓冲到…

作者头像 李华
网站建设 2026/7/10 23:15:42

Java 变量类型实战:局部、成员、静态变量 3 大作用域与生命周期对比

Java 变量类型实战&#xff1a;局部、成员、静态变量 3 大作用域与生命周期对比1. 变量类型概述与内存模型Java中的变量根据声明位置和生命周期可分为三大类型&#xff1a;局部变量、成员变量和静态变量。理解它们的差异对编写高效、可维护的代码至关重要。内存分配示意图&…

作者头像 李华