函数原型

  • 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. php修改时区MST,4、修改Cacti绘图的时间精度
  2. 12th,Jan 研究生创新项目申报成功
  3. Ubuntu 14.04安装openProj
  4. 数字图像处理实验(15):PROJECT 06-02,Pseudo-Color Image Processing
  5. linux双机热备 oracle,oracle for linux双机热备实战
  6. visual studio 2017 显示行号
  7. Spring Boot————单元测试
  8. Bootstrap 警告框插件Alert
  9. 数据表的创建(一对多,多对多)
  10. Python列表常用函数使用详解(内附详细案例)
  11. 只想做程序员的钢铁侠埃隆·马斯克,是如何成为亿万富翁的?
  12. 服务器搭建成虚拟空间,服务器搭建虚拟空间
  13. Python使用sftp实现上传和下载功能(实例代码)
  14. GO语言学习之路20
  15. 【转】一些linux基础命令
  16. maven项目添加新dependency jar后本地可正常运行,但打包后加载不上
  17. windows下批量更改文件名
  18. 学习matlab体会,学习matlab心得体会.doc
  19. 自己做量化交易软件(37)小白量化实战10--操作方法与MetaTrader5高频策略的进化
  20. Python实现微信自动抠图换底助手

热门文章

  1. find命令日常用法和文件名后缀
  2. div contenteditable=true各个浏览器上的解析
  3. 结构体 内存对齐 keil STM32
  4. 一个cp命令引发的mongodb大量慢查询
  5. Matlab设置字体大小
  6. 顶顶顶!! Xcode7.1下用CocoaPods安装Alamofire--swift下的第三方网络库
  7. [持续更新]先进OpenGL编程注意事项
  8. 我的 fedora 14 安装备忘
  9. mysql group by rowid_MySQL里面的group by问题浅析
  10. 堆载预压弹性变形怎样计算公式_真空预压排水固结法原理特点与优缺点