vector容器——容量和大小
函数原型
- 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容器——容量和大小相关推荐
- C++vector容器-容量和大小
vector容量和大小 功能描述: 对vector容器的容量和大小操作 函数原型: 代码如下: #include <iostream> using namespace std; #incl ...
- 【C++ 语言】vector 容器 ( 容器分类 | vector 声明 | vector 初始化 | vector 容器元素增删查改 )
文章目录 序列式容器 vector 简介 vector ( 向量 ) 头文件 vector ( 向量 ) 声明及初始化 vector ( 向量 ) 添加元素 vector ( 向量 ) 查询元素 ve ...
- STL之序列式容器(三)、vector容器
一.vector的使用.创建及初始化 vector<T> 容器是包含 T 类型元素的序列容器,和 array<T,N> 容器相似,不同的是 vector<T> 容器 ...
- Linux一个cpu有多少个vector,C++中vector容器大小增长规律浅析
问:"vector大小是如何增长的?" 答:"自动增长的" 问:"增长规律是?" 答: ...... 那么, 今天就来探究一下vector容 ...
- vector容量和大小
文章目录 一.vector容量和大小 二.示例 三.总结 一.vector容量和大小 1.功能描述:对vector容器的容量和大小操作 2.函数原型: ①empty(); //判断容器是否为空 ②ca ...
- C++ STL容器vector篇(三) vector容器大小和数组大小, 插入和删除元素, 存储和读取元素
vector容器的大小(capacity)和存放数据的大小(size) #include <iostream> #include <vector>using namespace ...
- stl vector 容量与大小之间的关系
当对vector进行push_back等操作的时候,当超出之前内存所分配的部分之后,需要新增内存空间存放更多元素.将原来的数据复制过来,释放之前的内存,然后插入新增加的元素:那么这个过程是怎么样的呢? ...
- vector 容器 动态数组总结
vector 容器 动态数组总结 二话不说直接上代码 #include <vector> #include <algorithm> #include <iostream& ...
- vector容器的用法
转自一篇博客^-^: 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.p ...
- c++ vector 先进先出_C++ STL Vector(容器)学习
本文参考博客链接及书籍: 侯捷老师的<STL 源码剖析> 在C++标准库中,STL容器是一些常用数据结构的实现,比如数组.链表.树.栈.队列.散列表.集合.映射表等,可以分为序列式(seq ...
最新文章
- php修改时区MST,4、修改Cacti绘图的时间精度
- 12th,Jan 研究生创新项目申报成功
- Ubuntu 14.04安装openProj
- 数字图像处理实验(15):PROJECT 06-02,Pseudo-Color Image Processing
- linux双机热备 oracle,oracle for linux双机热备实战
- visual studio 2017 显示行号
- Spring Boot————单元测试
- Bootstrap 警告框插件Alert
- 数据表的创建(一对多,多对多)
- Python列表常用函数使用详解(内附详细案例)
- 只想做程序员的钢铁侠埃隆·马斯克,是如何成为亿万富翁的?
- 服务器搭建成虚拟空间,服务器搭建虚拟空间
- Python使用sftp实现上传和下载功能(实例代码)
- GO语言学习之路20
- 【转】一些linux基础命令
- maven项目添加新dependency jar后本地可正常运行,但打包后加载不上
- windows下批量更改文件名
- 学习matlab体会,学习matlab心得体会.doc
- 自己做量化交易软件(37)小白量化实战10--操作方法与MetaTrader5高频策略的进化
- Python实现微信自动抠图换底助手
热门文章
- find命令日常用法和文件名后缀
- div contenteditable=true各个浏览器上的解析
- 结构体 内存对齐 keil STM32
- 一个cp命令引发的mongodb大量慢查询
- Matlab设置字体大小
- 顶顶顶!!	Xcode7.1下用CocoaPods安装Alamofire--swift下的第三方网络库
- [持续更新]先进OpenGL编程注意事项
- 我的 fedora 14 安装备忘
- mysql group by rowid_MySQL里面的group by问题浅析
- 堆载预压弹性变形怎样计算公式_真空预压排水固结法原理特点与优缺点