* begin--指向第一个元素的迭代器
* end--指向最后一个元素的下一个的迭代器
* front--返回第一个元素
* back--返回最后一个元素
* assign--对vector中元素赋值
* at--返回指定位置的元素值
* resize--返回元素数量的大小
* reserve--设置vector最小的元素容量
* clear--清空 * empty--空
* size--大小 * capacity--容量
* insert--插入* erase--删除指定元素
* push_back--尾巴进 * pop_back--尾巴出
capacity():返回重新分配空间前所能容纳的元素最大数量
reserve():如果容量不足,扩大之
void main()
{
int i;
vector<int> v;
v.reserve(10);//最小的容纳
for (i = 0; i < 20; i++)
v.push_back(i);//push_back空间不够可以扩容
// v.resize(5);//改变空间的大小//指定容纳多少个
cout << v.size() << endl;//size 目前容器中存储的个数
cout << v.capacity() << endl;//capacity-容量//最大可以容纳数据的个数
}
c.assign(n,elem):复制n个elem,赋值给c
c.assign(beg,end):将区间[beg,end)内的元素赋值给c
void main()
{
int arr[5] = { 1,2,3,4,5 };
vector<int>v(arr, arr + 3);v:1,2,3
vector<int>v1(arr, arr + 5);v1:1,2,3,4,5
v.assign(5, 3);//重新赋值5个3
v.assign(v1.begin(), v1.begin()+4);
}
c.at(index):返回索引为index的元素,如果越界,则抛出异常
c[index]:返回索引为index的元素,不检查错误
for (i = 0; i < v1.size(); i++)
{
cout << v1[i] << " " << v1.at(i) << endl;
//at就是[]的意思,就是取i所对应的值;函数做越界报错处理
}
c.push_back(elem):在尾部添加一个elem
c.append:追加字符
void main()
{
vector<string>v;//二维数组//保存的一维数据
vector<vector<string>> vv;//三维数组//保存的二维数据
int i, j;
for (i = 0; i < 3; i++)
{
v.push_back(" ");//
v[i].append(5, '*');//追加五个*
}
for (i = 0; i < 3; i++)
cout << v[i] << endl;
for (i = 0; i < 4; i++)
{
vv.push_back(vector<string>());
for (j = 0; j < 5; j++)
{
vv[i].push_back("11111 ");
cout << vv[i][j] <<"|";
}
cout << " "<<endl;
}
}
运行结果:

c.insert(pos,elem):
在pos位置上插入一个elem,并返回新元素位置
c.insert(pos,n,elem):
在pos位置插入n个elem,无返回值
c.insert(pos,beg,end):
在pos位置插入区间[beg,end]内的所有元素副本,无返回值
c.pop_back():
移除最后一个元素(但不回传)
c.erase(beg,end):
移除[beg,end]区间内的所有元素,返回下一个元素的位置
c.erase(beg,end):
移除[beg,end]区间内的所有元素,返回下一个元素的位置
c.front():
返回第一个元素,不检查第一个元素是否存在
c.back():
返回最后一个元素,不检查最后一个元素是否存在
void main()
{
int arr[] = { 1,2,3,4,5 };
vector<int> v(arr,arr+3);
vector<int>v1;
v1.push_back(10);
v1.push_back(20);
v1.push_back(30);
//v.clear();
v.insert(v.begin(), 100);//100 1 2 3
v.insert(v.begin()+2, arr,arr+4);//100 1 1 2 3 4 2 3
v.insert(v.begin(), v1.begin(),v1.end());//10 20 30 100 1 1 2 3 4 2 3
v.insert(v.end()-1, 3,40);//10 20 30 100 1 1 2 3 4 2 3 40 40 40
cout << "front :" << v.front() << endl;//front是值
cout << "back :" << v.back() << endl;//back是值
v.pop_back();//删掉最后一个//10 20 30 100 1 1 2 3 4 2 3 40 40
cout << "size :" << v.size() << endl;
v.erase(v.begin());
v.erase(v.begin(),v.begin()+3);
}
运行结果

c.resize(num):
将元素数量改为num(如果size变大,多出来的新元素都需以默认构造函数构造)
c.resize(num,elem):
将元素数量改为num(如果size变大,多出来的新元素都是elem的副本)
c.resize(num):
将元素数量改为num(如果size变大,多出来的新元素都需以默认构造函数构造)
c.resize(num,elem):
将元素数量改为num(如果size变大,多出来的新元素都是elem的副本)