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

vector的大小

理论知识

vector.size(); //返回容器中元素的个数
vector.empty(); //判断容器是否为空
vector.resize(num); //重新指定容器的长度为num,若容器变长,则以默认值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。
vector.resize(num, elem); //重新指定容器的长度为num,若容器变长,则以elem值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。

例如 vecInt是vector 声明的容器,现已包含1,2,3元素。
int iSize = vecInt.size(); //iSize == 3;
bool bEmpty = vecInt.empty(); // bEmpty == false;
执行vecInt.resize(5); //此时里面包含1,2,3,0,0元素。
再执行vecInt.resize(8,3); //此时里面包含1,2,3,0,0,3,3,3元素。
再执行vecInt.resize(2); //此时里面包含1,2元素。

6、vector末尾的添加移除操作

vector vecInt;
vecInt.push_back(1); //在容器尾部加入一个元素
vecInt.push_back(3);
vecInt.push_back(5);
vecInt.push_back(7);
vecInt.push_back(9);
vecInt.pop_back();
vecInt.pop_back();
7、vector的数据存取

理论知识:

vec.at(idx); //返回索引idx所指的数据,如果idx越界,抛出out_of_range异常。
vec[idx]; //返回索引idx所指的数据,越界时,运行直接报错
vector vecInt; //假设包含1 ,3 ,5 ,7 ,9
vecInt.at(2) == vecInt[2] ; //5
vecInt.at(2) = 8; 或 vecInt[2] = 8;
vecInt 就包含 1, 3, 8, 7, 9值

int iF = vector.front(); //iF1
int iB = vector.back(); //iB
9
vector.front() = 11; //vecInt包含{11,3,8,7,9}
vector.back() = 19; //vecInt包含{11,3,8,7,19}
8、vector的插入

理论知识

vector.insert(pos,elem); //在pos位置插入一个elem元素的拷贝,返回新数据的位置。
vector.insert(pos,n,elem); //在pos位置插入n个elem数据,无返回值。
vector.insert(pos,beg,end); //在pos位置插入[beg,end)区间的数据,无返回值
简单案例

vector vecA;
vector vecB;

vecA.push_back(1);
vecA.push_back(3);
vecA.push_back(5);
vecA.push_back(7);
vecA.push_back(9);

vecB.push_back(2);
vecB.push_back(4);
vecB.push_back(6);
vecB.push_back(8);
vecA.insert(vecA.begin(), 11); //{11, 1, 3, 5, 7, 9}
vecA.insert(vecA.begin()+1,2,33); //{11,33,33,1,3,5,7,9}
vecA.insert(vecA.begin() , vecB.begin() , vecB.end()); //{2,4,6,8,11,33,33,1,3,5,7,9}
9、vector的删除

理论知识

vector.clear(); //移除容器的所有数据
vec.erase(beg,end); //删除[beg,end)区间的数据,返回下一个数据的位置。
vec.erase(pos); //删除pos位置的数据,返回下一个数据的位置。
简单案例:

删除区间内的元素
vecInt是用vector声明的容器,现已包含按顺序的1,3,5,6,9元素。
vecInt.erase(vecInt.begin(),vecInt.begin()+3);
//删除vecInt的所有元素
vecInt.clear(); //容器为空

相关文章:

  • redis数据结构-05 (LPUSH、RPUSH、LPOP、RPOP)
  • 【今日三题】素数回文(模拟) / 活动安排(区间贪心) / 合唱团(动态规划)
  • 特励达力科LeCroy推出Xena Freya Z800 800GE高性能的800G以太网测试平台
  • 【英语笔记(一)】概述词类的作用与语义:名词、代词、数词、代词、动词.....,副词、不定式、分词、形容词等语义在句子中的作用;讲解表语、定语等
  • Linux网络基础 -- 局域网,广域网,网络协议,网络传输的基本流程,端口号,网络字节序
  • python打卡day22@浙大疏锦行
  • Java SE(11)——内部类
  • 无锁秒杀系统设计:基于Java的高效实现
  • VMware安装CentOS Stream10
  • Three.js + React 实战系列 - 联系方式提交表单区域 Contact 组件✨(表单绑定 + 表单验证)
  • Yocto 项目中的 glibc 编译失败全解析:原因、原理与修复策略
  • 深入剖析 MyBatis 位运算查询:从原理到最佳实践
  • RabbitMQ的工作队列模式和路由模式有什么区别?
  • BGP联盟
  • 无侵入式弹窗体验_探索 Chrome 的 Close Watcher API
  • 什么是中央税
  • 基于Flask、Bootstrap及深度学习的水库智能监测分析平台
  • c++ 如何写类(不带指针版)
  • 24、TypeScript:预言家之书——React 19 类型系统
  • 项目过程中使用vant组件使用踩坑记录
  • 上海杨浦:鼓励龙头企业与高校共建创新联合体,最高支持200万元
  • 张笑宇:物质极大丰富之后,我们该怎么办?
  • 人大新闻教育70年丨16759门课程里的时代密码
  • 2024年度全国秋粮收购达3.45亿吨
  • 撤制镇如何突破困境?欢迎订阅《澎湃城市报告》第23期
  • 让胖东来“自闭”的玉石生意,究竟水有多深?