Vectors are sequence containers representing arrays that can change in size.
Constructor
vector可以使用四种参数方法构造
//1. 无参数,默认构造函数,构造一个空的vector
vector();
// 2. 数量(num)和值(val) - 构造一个初始放入num个值为val的元素的Vector
vector( size_type num, const TYPE &val );
// 3. vector(from) - 构造一个与vector from 相同的vector
vector( const vector &from );
4. 迭代器(start)和迭代器(end) - 构造一个初始值为[start,end)区间元素Vector(注:半开区间).
vector( input_iterator start, input_iterator end );
vector<int> v1(5, 9);
vector<int> v2(v1);// copy constructor
vector<int> v3(v1.begin(), v1.end() - 1);
迭代器
member function |
effect |
begin() |
return iterator to beginning(the index 0) |
end() |
return itetator to end (the position next to the last one ) |
rbegin() |
Return reverse iterator to reverse beginning(the last one) |
rend() |
Return reverse iterator to reverse end(the position before the first one) |
for(vector<int>::iterator it = v1.begin(); it != v1.end(); it++){
cout << *it << " ";
}
cout << endl;
for(vector<int>::reverse_iterator it = v1.rbegin(); it != v1.rend(); it++){
cout << *it << " ";
}
cout << endl;
capacity
member function |
effect |
size() |
return size |
max_size() |
return maximum size |
empty() |
test wether vector is empty |
cout << v1.max_size() << endl;
while(!v1.empty()){
cout << v1.back() << endl;
v1.pop_back();
}
element access
member function |
effect |
front() |
access the first element |
back() |
access the last element |
at() |
access element |
cout << v2.front() << endl;
cout << v2.back() << endl;
cout << v2.at(2) << endl;// 输出第三个元素,也就是index为2的元素
Modifiers:
member function |
effect |
push_back() |
add element at the end |
pop_back() |
delete the last element |
insert() |
insert element |
erase() |
rease element |
clear() |
clear content |
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
v1.pop_back();
vector<int> v;
v.insert(v.begin(),10);//插入位置是迭代器
v.insert(v.begin(),2,20);
v.insert(v.begin(),v1.begin(),v1.begin()+2);
v.erase(v.begin());//删除某个元素
v.erase(v.begin(),v.end());// 删除某一段元素