c++ 中vector 常见用法(给初学者)
c++ 中 vector
vector有两个参数,一个是size,表示当前vector容器内存储的元素个数,一个是capacity,表示当前vector在内存中申请的这片区域所能容纳的元素个数。
capacity会随着你的使用vector内置函数而动态变化.
通常capacity会比size大,如果往vector中push_back数据,这样就不用重新申请内存和拷贝元素到新内存区域了,便于节省时间。
vector 之间可以之间赋值或者作为函数的返回值
初始化
与数组的初始化一样
vector a = {11,2,3};
常用函数
#include
#include
using namespace std;
int main()
{
vector vec;
}
多维的 vector 用法与多维的 string 一样。
在尾部添加元素:push_back(要添加的元素)
vec.push_back(3);
说明:把数字3加到vec的末尾。
注意:vector 类型的变量要想增加元素,只能用push_back() 函数
for(int i = 0;i
说明:将vec中的元素依次赋值为0 1 2 3 4 .......
在尾部删除元素:pop_back(空)
vec.pop_back();
说明:删除容器内的最后一个元素,容器的size减1。
之后仍然能通过push_back()来在尾部增加元素
因为pop_back()不会减小capacity.
读取长度:size(空)
int len = vec.size();
说明:将vec的长度(也就是其中的元素的个数)赋给len
改变大小: resize(改变后的长度,(用哪个元素补全))
假设此时vec的长度为4
vec.resize(2); // 将vec的长度变为2,(注意vec是从0开始编号,因此此时vec的最后一个元素为vec[1]),vec[2:n]均被舍弃
vec.resize(6,3); // 将vec的长度变为6,此时vec[4:5] 均被赋值为3
且,resize函数只能对vec的size进行减小,而不能使得capacity减小
清空:clear()
vec.clear();
说明:把size设置成0,capacity不变。
检测是否为空 :empty()
if(vec.empty())
cout<< "empty";
else
cout <<"full";
说明:对于 empty() 函数,如果为空,则返回 true,如果非空,则返回 false