函数原型

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

示例

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<numeric>
#include<set>
#include<map>
#include<vector>
#define ll long long
using namespace std;
void print(vector<int>&v)
{for(vector<int>::iterator it=v.begin();it!=v.end();it++)cout<<*it<<" ";cout<<endl;
}
void test()
{vector<int>v1;for(int i=0;i<10;i++)v1.push_back(i);if(v1.empty())//为真代表容器为空cout<<"v1为空"<<endl;else{cout<<"v1不为空"<<endl;cout<<"v1的容量为:"<<v1.capacity()<<endl;cout<<"v1的大小为:"<<v1.size()<<endl;//容量永远大于等于size//如果插入的元素满了,则capacity会进行动态扩展}//重新指定大小v1.resize(15);//如果重新指定的比原来长了,默认用0填充新的位置print(v1);
}
int main()
{test();return 0;
}

运行结果如下:

上述讲到的resize中可以利用重载版本,指定默认填充值
代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<numeric>
#include<set>
#include<map>
#include<vector>
#define ll long long
using namespace std;
void print(vector<int>&v)
{for(vector<int>::iterator it=v.begin();it!=v.end();it++)cout<<*it<<" ";cout<<endl;
}
void test()
{vector<int>v1;for(int i=0;i<10;i++)v1.push_back(i);if(v1.empty())//为真代表容器为空cout<<"v1为空"<<endl;else{cout<<"v1不为空"<<endl;cout<<"v1的容量为:"<<v1.capacity()<<endl;cout<<"v1的大小为:"<<v1.size()<<endl;//容量永远大于等于size//如果插入的元素满了,则capacity会进行动态扩展}//重新指定大小v1.resize(15,100);print(v1);
}
int main()
{test();return 0;
}

运行结果如下:

继续引用上面的程序,现在我们来体会一下num小于size的情况
代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<numeric>
#include<set>
#include<map>
#include<vector>
#define ll long long
using namespace std;
void print(vector<int>&v)
{for(vector<int>::iterator it=v.begin();it!=v.end();it++)cout<<*it<<" ";cout<<endl;
}
void test()
{vector<int>v1;for(int i=0;i<10;i++)v1.push_back(i);if(v1.empty())//为真代表容器为空cout<<"v1为空"<<endl;else{cout<<"v1不为空"<<endl;cout<<"v1的容量为:"<<v1.capacity()<<endl;cout<<"v1的大小为:"<<v1.size()<<endl;//容量永远大于等于size//如果插入的元素满了,则capacity会进行动态扩展}//重新指定大小v1.resize(5);print(v1);
}
int main()
{test();return 0;
}

输出结果如下:

vector容器——容量和大小相关推荐

  1. C++vector容器-容量和大小

    vector容量和大小 功能描述: 对vector容器的容量和大小操作 函数原型: 代码如下: #include <iostream> using namespace std; #incl ...

  2. 【C++ 语言】vector 容器 ( 容器分类 | vector 声明 | vector 初始化 | vector 容器元素增删查改 )

    文章目录 序列式容器 vector 简介 vector ( 向量 ) 头文件 vector ( 向量 ) 声明及初始化 vector ( 向量 ) 添加元素 vector ( 向量 ) 查询元素 ve ...

  3. STL之序列式容器(三)、vector容器

    一.vector的使用.创建及初始化 vector<T> 容器是包含 T 类型元素的序列容器,和 array<T,N> 容器相似,不同的是 vector<T> 容器 ...

  4. Linux一个cpu有多少个vector,C++中vector容器大小增长规律浅析

    问:"vector大小是如何增长的?" 答:"自动增长的" 问:"增长规律是?" 答: ...... 那么, 今天就来探究一下vector容 ...

  5. vector容量和大小

    文章目录 一.vector容量和大小 二.示例 三.总结 一.vector容量和大小 1.功能描述:对vector容器的容量和大小操作 2.函数原型: ①empty(); //判断容器是否为空 ②ca ...

  6. C++ STL容器vector篇(三) vector容器大小和数组大小, 插入和删除元素, 存储和读取元素

    vector容器的大小(capacity)和存放数据的大小(size) #include <iostream> #include <vector>using namespace ...

  7. stl vector 容量与大小之间的关系

    当对vector进行push_back等操作的时候,当超出之前内存所分配的部分之后,需要新增内存空间存放更多元素.将原来的数据复制过来,释放之前的内存,然后插入新增加的元素:那么这个过程是怎么样的呢? ...

  8. vector 容器 动态数组总结

    vector 容器 动态数组总结 二话不说直接上代码 #include <vector> #include <algorithm> #include <iostream& ...

  9. vector容器的用法

    转自一篇博客^-^: 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.p ...

  10. c++ vector 先进先出_C++ STL Vector(容器)学习

    本文参考博客链接及书籍: 侯捷老师的<STL 源码剖析> 在C++标准库中,STL容器是一些常用数据结构的实现,比如数组.链表.树.栈.队列.散列表.集合.映射表等,可以分为序列式(seq ...

最新文章

  1. mac操作系统自带的文本编辑软件
  2. WTL 出现的SetMsgHandled和IsMsgHandled 错误
  3. Let‘s Fluent:更顺滑的MyBatis
  4. Pytorch nn.BCEWithLogitsLoss()的简单理解与用法
  5. python面向对象的编程_不会面向对象,肯定学不好Python!简易的面向对象攻略来啦...
  6. 学习如何看懂SQL Server执行计划(一)——数据查询篇
  7. 自定义UINavigationController push和pop动画
  8. 离散数学期末复习总结
  9. js代码实现百度换肤
  10. 网页设计期末作品_平面、网页、UI设计师该如何做作品集?
  11. 码code | 拒绝996,不用服务器也能高效开发小游戏
  12. Linux下进行rar文件解压和压缩
  13. bootstrap-selectpicker
  14. AR游戏觉醒,或将成为手游未来独角兽
  15. 科研狗citavi/mendeley+word使用技巧外加读论文瞎琢磨
  16. linux 网络管理 pdf,Windows与Linux网络管理与维护 PDF扫描版[194MB]
  17. 小程序EXcel文件下载并打开
  18. Flask实战开发在线问答系统
  19. FDTD快速入门之Lumerical脚本语言Pickup(七)数据获取与分析(Analysis)
  20. java学习第183天,javaWeb学习第42天,复习第19天;p240-245(08/16)-6h

热门文章

  1. 上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片
  2. 使用appendChild巧妙解决火狐下innerHTML无法沿用input数据问题
  3. linux中搜索指定字符串的方法
  4. 【Docker】02 Docker安装
  5. pytest allure测试报告_pytest文档32allure描述用例详细讲解
  6. 启动虚拟机连接教程,连接教学,一级初级开发虚拟机中的简单指令
  7. x11 matlab仿真,基于MATLABSimulink的弹道仿真方法.pdf
  8. LintCode—删除排序链表中的重复元素(112)
  9. 【转】运用jieba库分词
  10. 【转】vue双向绑定原理分析