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

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.dtcms.com/a/323654.html

相关文章:

  • 北斗变形监测技术应用与案例解析
  • RK3568 U盘/TF卡镜像更新
  • Mysql笔记-系统变量\用户变量管理
  • 学习嵌入式第二十四天
  • 【Python 语法糖小火锅 · 第 1 涮】
  • Vulnhub----Beelzebub靶场
  • 每周算法思考:栈与队列
  • 使用lightGCN完整训练用户 + 商品向量的 3 步指南
  • 在JVM调优时,你关注哪些指标?
  • 裸露土堆识别准确率↑32%:陌讯多模态融合算法实战解析
  • 20250808组题总结
  • C++11中的移动语义
  • Python训练营打卡Day27-类的定义和方法
  • 【后端】Java Stream API 介绍
  • C++11 ---- 线程库
  • 机器学习(西瓜书)学习——绪论
  • 编译技术的两条演化支线:从前端 UI 框架到底层编译器的智能测试
  • 通过MQTT实现OTA升级方案
  • Linux-Redhat9.5静默安装Oracle19.25单实例教程【参照官方文档,超级详细】
  • 【35】C#实战篇——StopRecordingTimer_Tick事件函数中,解绑函数自己,那么该函数会立即结束吗?还会继续执行该函数中剩余部分吗?
  • windows、linux应急响应入侵排查
  • Oracle数据库重启后打开异常状态的检查步骤
  • 模拟人脑处理文本——从分句到分词,从段落到时间线叙事
  • MySQL时间类型
  • windows上LM-Studio下载安装教程
  • 谷歌搜索 sg_ss 逆向分析
  • 自闭和标签形式(self-closing tags)和标准标签形式
  • [概率 DP]808. 分汤
  • C++入门学习3
  • 开漏和推挽模式的区别