当前位置: 首页 > java >正文

c++ 容器vector基础

vector 容器基础操作代码

vector 是 C++ STL 中最常用的动态数组容器,以下是其基础操作的代码示例:

1. 头文件

#include <vector>
#include <iostream>
using namespace std;

2. 创建和初始化

vector<int> v1;                  // 空vector
vector<int> v2(5);               // 包含5个元素,默认值为0
vector<int> v3(5, 10);           // 包含5个元素,每个都是10
vector<int> v4 = {1, 2, 3, 4};   // 初始化列表
vector<int> v5(v4);              // 拷贝构造

3. 添加元素

v1.push_back(10);       // 在末尾添加元素10
v1.emplace_back(20);    // C++11,更高效的添加方式
v1.insert(v1.begin(), 5); // 在开头插入5

4. 访问元素

cout << v3[2];          // 访问第3个元素(不检查边界)
cout << v3.at(2);       // 访问第3个元素(会检查边界)
cout << v3.front();     // 第一个元素
cout << v3.back();      // 最后一个元素

5. 大小和容量

cout << v3.size();      // 元素数量
cout << v3.capacity();  // 当前分配的内存能容纳的元素数
v3.reserve(100);        // 预留空间
cout << v3.empty();     // 判断是否为空

6. 删除元素

v3.pop_back();          // 删除最后一个元素
v3.erase(v3.begin());   // 删除第一个元素
v3.erase(v3.begin()+1, v3.begin()+3); // 删除范围[1,3)的元素
v3.clear();             // 清空所有元素

7. 遍历vector

// 使用下标
for(size_t i = 0; i < v4.size(); ++i) {cout << v4[i] << " ";
}// 使用迭代器
for(auto it = v4.begin(); it != v4.end(); ++it) {cout << *it << " ";
}// C++11范围for循环
for(int num : v4) {cout << num << " ";
}

8. 其他操作

v4.resize(10);          // 调整大小,新增元素默认初始化
v4.swap(v5);            // 交换两个vector的内容
sort(v4.begin(), v4.end()); // 排序
reverse(v4.begin(), v4.end()); // 反转
http://www.xdnf.cn/news/17490.html

相关文章:

  • 【递归、搜索和回溯】FloodFill 算法介绍及相关例题
  • Zread:把 GitHub 仓库“一键变说明书”的体验与实战指南
  • AutoML 的下半场——从“模型选择”到“端到端业务闭环”
  • Redhat Linux 9.6 配置本地 yum 源
  • Java类和对象课上练习题目设计
  • 计算机网络:CIDR地址块如何划分子网
  • 24SpringCloud黑马商城微服务整合Seata重启服务报错的解决办法
  • Day 36: 复习
  • 【机器学习深度学习】模型选型:如何根据模型的参数算出合适的设备匹配?
  • 05.【数据结构-C语言】栈(先进后出,栈的实现:进栈、出栈、获取栈顶元素,栈实现代码,括号匹配问题)
  • [Oracle] SUBSTR()函数
  • [CUDA] CUTLASS | `CuTe DSL` 创新
  • 化工安防误报率↓82%!陌讯多模态融合算法实战解析
  • ARM CPU 安全更新:Training Solo(关于 Spectre-v2 攻击中域隔离机制的局限性)
  • 在ubuntu服务器下安装cuda和cudnn(笔记)
  • 基于Prometheus、Grafana、Loki与Tempo的统一监控平台故障排查与解决方案
  • 3款强力的Windows系统软件卸载工具
  • STM32的中断系统
  • 大数据与财务管理:未来就业的黄金赛道
  • 第4章 程序段的反复执行4.2while语句P128练习题(题及答案)
  • Mistral Small 3.1 架构深度解析:高效小型模型的巅峰之作
  • 直接插入排序算法:可视化讲解与C语言实现
  • drippingblues靶机教程
  • 飞算JavaAI:人工智能与Java的创新融合与应用前景
  • 逻辑回归详解:原理、应用与实践
  • OceanBase架构设计
  • 後端開發技術教學(四) 數據交互延伸
  • 如何更改win11自带录音机所录制文件的存储路径
  • 新手入门:从零开始使用这份 LaTeX 模板
  • nishang--安装、使用