版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/89784661
一 点睛
vector中的增加,可以有insert和push_back。insert是插入元素到某个位置中,push_back是在最后添加一个元素。
insert的函数原型
iterator insert( iterator loc, const TYPE &val ); // 向量中迭代器指向元素前增加一个元素x
void insert( iterator loc, size_type num, const TYPE &val ); // 向量中迭代器指向元素前增加n个相同的元素x
void insert( iterator loc, input_iterator start, input_iterator end ); // 向量中迭代器指向元素前插入另一个相同类型向量的[first,last)间的数据
二 实战
1 代码
#include<algorithm>
#include<vector>
#include<iostream>
using namespace std;
void print( vector<int>v ){
vector<int>::iterator iter=v.begin();
for(;iter!=v.end();iter++)
cout<<*iter<<" ";
cout<<endl;
}
int main(){
vector<int> v; //现在容器中有0个元素
int values[] = {1,3,5,7};
v.insert(v.end(), values+1, values+3);//现在容器中有2个元素分别为:3,5
print(v);
v.push_back(9); //现在容器中有3个元素分别为:3,5,9
print(v);
v.erase(v.begin()+1);//现在容器中有2个元素分别为:3,9
print(v);
v.insert(v.begin()+1, 4);//现在容器中有3个元素分别为:3,4,9
print(v);
v.insert(v.end()-1, 4, 6);//现在容器中有7个元素分别为:3,4,6,6,6,6,9
print(v);
v.erase(v.begin()+1, v.begin()+3); //现在容器中有5个元素分别为:3,6,6,6,9
print(v);
v.pop_back(); //现在容器中有4个元素分别为:3,6,6,6
print(v);
v.clear();//现在容器中有0个元素
print(v);
if (true == v.empty()) //如果容器为空则输出"null"
{
std::cout<<"null"<<std::endl;
}
return 0;
}
2 运行
[root@localhost charpter03]# g++ 0315.cpp -o 0315
[root@localhost charpter03]# ./0315
3 5
3 5 9
3 9
3 4 9
3 4 6 6 6 6 9
3 6 6 6 9
3 6 6 6
null