博客
关于我
C++容器vector的数组片段截取操作
阅读量:372 次
发布时间:2019-03-04

本文共 1617 字,大约阅读时间需要 5 分钟。

一、vector的描述

vector是STL中最常用的容器之一,类似于数组,但比数组更灵活,支持动态内存分配。与固定大小的数组不同,vector的大小可以动态变化,适合处理动态数据。

1.1 vector的基本使用

1.1.1 含头文件

使用vector前需要包含相应的头文件:

#include 
using namespace std;

1.1.2 vector的创建方式

vector可以通过多种方式创建:

vector
values; // 空双精度数组vector
Arrs {1, 2, 3, 4, 5, 6, 7, 8, 9}; // 初始化整型数组vector
Arrs2(Arrs.begin() + 2, Arrs.end() - 1); // 从第三个元素到倒数第二个元素vector
Arrs3(5, 6.0f); // 创建浮点型数组,包含5个6.0f

1.2 vector成员函数

vector提供丰富的成员函数,支持基本操作如插入、删除、迭代等。

1.2.1 常用成员函数

  • begin()end():返回首尾迭代器
  • size():返回元素个数
  • resize():调整容器大小
  • empty():判断是否为空
  • reverse():反转容器
  • shrink_to_fit():优化内存
  • push_back():在末尾添加元素
  • pop_back():删除末尾元素
  • erase():删除单个或多个元素
  • clear():清空容器
  • assign():从迭代器截取子数组

1.2.2 常用成员函数示例

vector
nums {1, 2, 3, 4, 5};nums.push_back(6); // 添加元素nums.pop_back(); // 删除元素

1.3数组片段截取

通过vector的成员函数实现数组片段截取:

vector
Arrs {1, 2, 3, 4, 5};vector
SubArrs = Arrs; // 复制整个数组vector
Middle(Arrs.begin() + 1, Arrs.begin() + 3); // 截取第二、三个元素

功能打包代码

#include 
#include
using namespace std;// 函数描述:裁剪vector数组某一区间的元素到新的vector数组vector
CutArrs(vector
& Arrs, int begin, int end) { if (end > Arrs.size()) return {}; vector
result; result.assign(Arrs.begin() + begin, Arrs.begin() + end); return result;}// 函数重载:使用迭代器作为起始和结束位置vector
CutArrs(const_iterator begin, const_iterator end) { return vector
(begin, end);}

以上代码展示了如何通过vector的成员函数实现数组片段的截取,以及如何将结果存储到另一个vector中。通过这种方式,可以方便地处理动态数据,提升代码的灵活性和可读性。

转载地址:http://fyzg.baihongyu.com/

你可能感兴趣的文章
PostgreSQL Point-In-Time Recovery (Incremental Backup)
查看>>
postgresql Streaming Replication监控与注意事项
查看>>
postgresql 不需要付费_使用数据传输在PostgreSQL执行 外部连接运算符
查看>>
postgresql 主从配置_生产环境postgresql主从环境配置
查看>>
postgresql 函数&存储过程 ; 递归查询
查看>>
PostgreSQL 分组聚合查询中 filter 子句替换 case when
查看>>
PostgreSQL 同步流复制锁瓶颈分析
查看>>
PostgreSQL 备份与还原命令 pg_dump
查看>>
Postgresql 外部表插件postgres_fdw的安装和使用
查看>>
PostgreSQL 如何从崩溃状态恢复(上)
查看>>
PostgreSQL 存储过程基本语法
查看>>
PostgreSQL 实现批量更新、删除、插入
查看>>
PostgreSQL 导入 .gz 备份文件
查看>>
PostgreSQL 批量插入&更新数据时报错(ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time)
查看>>
PostgreSQL 新增数据返回自增ID
查看>>
postgresql 更新多列数据
查看>>
PostgreSQL 服务启动后停止
查看>>
PostgreSQL 辟谣存在任意代码执行漏洞:消息不实
查看>>
PostgreSQL+PostGIS实现两坐标点之间最短路径查询算法函数(地图工具篇.12)
查看>>
Qt开发——简易调色板QPalette
查看>>