介绍
vector为可变长动态数组,和数组不一样的就是可以随时添加和删除元素
主要函数
c.front() | 返回第一个数据 |
---|---|
c.back() | 返回数组中的最后一个数据 |
c.pop_back() | 删除最后一个数据 |
c.push_back(element) | 在尾部加一个数据 |
c.size() | 返回实际数据个数(unsigned类型) |
c.clear() | 清除元素 |
c.resize(n, v) | 改变数组大小为n,n个空间数值赋为v,如果没有默认赋值为0 |
c.insert(it, x) | 向迭代器it插入一个元素x |
c.erase(first,last) | 删除[first,last)的所有元素 |
c.begin() 返 | 返回首元素的迭代器(地址) |
c.end() | 返回最后一个元素后一个位置的迭代器(地址) |
c.empty() | 判断是否为空,为空返回真,反之返回假 |
c.assign(n,m) | n个数全变为m |
c.reserve( len) | 表示有n个空间 |
c.swap(n) | 本身元素与n互换 |
注意
1.没有push_frond(),因为它会重新建立一个数组然后把这个数放进去之后,把原来的数以此放进去,非常麻烦。
2.当数组满的时候后面加元素会直接加前面数组一半长度。、
3.last 是数组最后的下一个,end其实是数组即使没填满,最后一个空间的下一个地址