#include <iostream>
#include <vector> //vector的头文件
using namespace std;
int main()
{
默认构造函数 元素个数为0, 所占内存空间为0
vector<int> num();
当我们使用vector 的默认构造函数时,切记,不能直接通过下标去访问
num[0]=1;默认构造下标访问会报错
vector<int> num(6,666); 创建一个容器元素长度为6,所有元素默认指定为数字666
vector<int> num(6); 不指定所有元素默认为零
num.push_back(3); 尾部插入1个元素为数字3
vector<int> num1(8,777);
cout << "容器的元素长度" << num.size() << endl;
cout << "容器大小" << num.capacity() << endl;
num.assign(2, 999); 容器长度不变,原有的元素清空,赋值为2个元素999,
num.assign(num1.begin(), num1.end()); 可以用其他同类型容器进行赋值,使用迭代器进行赋值
num.assign(num1.begin()+1, num1.end()-1); 用指针指定区间赋值
iterator 是迭代器,it是迭代器的一个指针
num.begin() 是首个元素
num.end() 是元素尾部最后一个元素的下一个未知位置
for (vector<int>::iterator it = num.begin(); it < num.end();)
{
cout << *it<<endl;
++it;
}
if (!num.empty()) 判断容器是否为空,!为不的意思
{
num.resize(10); 调整容器长度为10个元素,扩充的元素默认为0
num.resize(10,666); 可以指定扩充的元素默认值都为666
如果容器缩小后面的第二个参数无效
}
num.pop_back(); 去掉尾部的最后一个元素
num.at(2) = 88; 索引的方式修改第二个元素为88
num[5] = 66; 下标的方式修改第6个元素为66
num.insert(num.begin(), 6); 必须使用迭代器防止越界,在首位置插入数字6
vector的插入
vector.insert(pos, elem); 在pos位置插入一个elem元素的拷贝,返回新数据的位置。
vector.insert(pos, n, elem); 在pos位置插入n个elem数据,无返回值。
vector.insert(pos, beg, end); 在pos位置插入[beg,end)区间的数据,无返回值
vector的删除把整个vector 都干掉
num.clear();
干掉单个元素
num.erase(num.begin());
干掉多个元素
num.erase(num.begin(), num.begin() + 3);
return 0;
}