以vector <int> v为例:
① v[i]或v.at(i)//返回v[i]的值
② v.size();//返回v数组元素总个数
③ v.front();//返回v数组第一个元素的值
④ v.back();//返回v数组最后一个元素的值
⑤ v.clear();//清空v数组
⑥ v.begin();//返回v数组第一个数的地址
⑦ v.end();//返回v数组最后一个数之后的地址
⑧ v.empty();//判断v数组是否为空,是空则返回1(true),非空(有元素)则返回0(false)
⑨ v.swap(v1);//v1是另一个动态数组,将v和v1元素互换
⑩ swap(v,v1);//同⑨
注意:再次重申,vector的下标是从0开始的!
注意:除v[i]外,其余都是vector的自带函数,因此必须添上括号!
std库提供了好几种插入,这里最为常用的三种。
① v.push_back(a);//在v数组的尾部插入数a
比如:
有一个动态数组x:2017 2333
调用x.push_back(666);
则x:2017 2333 666
② v.insert(v.begin()+k,a);//在下标k的前面插入数a,k之后的数依次后退一位
//记住,下标是从0开始的!
比如:
动态数组x:1 2 3 4 5 6
调用x.insert(x.begin()+2,100);
则x:1 2 100 3 4 5 6
③ x.insert(x.begin()+k,p,a);//在下标k前面插入p个a
六、vector的删除
也有三种,
① v.pop_back()//删除最后一个元素
② v.erase(v.begin()+k);//删除下标为k的数,返回下一个位置的下标
③ v.erase(v.begin()+l,v.end()-r);/删除下标[l,v.end()-r)的元素