Original: http://www.cnblogs.com/wang7/archive/2012/04/27/2474138.html thank Jinhe.
1 Basic operations
(1) header file #include<vector>.
(2) Creating a Vector object,vector<int> VEC;
(3) Tail Insert number: Vec.push_back (a);
(4) Use subscript to access elements,cout<<vec[0]<<endl; remember that subscripts start at 0.
(5) Accessing elements using iterators.
Vector<int>::iterator it;
For (It=vec.begin (); It!=vec.end (); it++)
cout<<*it<<endl;
(6) Insert element: Vec.insert (Vec.begin () +i,a); Insert a in front of the i+1 element;
(7) Delete element: Vec.erase (Vec.begin () +2); Delete 3rd element
Vec.erase (Vec.begin () +i,vec.end () +j); Delete interval [i,j-1]; interval starting from 0
(8) Vector size: vec.size ();
(9) Empty: Vec.clear ();
2
Vector elements can not only make int,double,string, but also structural body, but note: The structure is defined as global, otherwise there will be errors. The following is a short program code:
#include <stdio.h> #include <algorithm> #include <vector> #include <iostream> using namespace
Std
typedef struct RECT {int id;
int length; int width;
For vector elements that are structural, you can define comparison functions within the structure, sorted by Id,length,width ascending order.
BOOL operator< (const RECT &a) const
{
if (id!=a.id)
Return id<a.id;
Else
{
if (length!=a.length)
Return length<a.length;
Else
Return width<a.width;
}
}}rect;
int main () {vector<rect> VEC;
Rect Rect;
rect.id=1;
rect.length=2;
rect.width=3;
Vec.push_back (rect);
Vector<rect>::iterator It=vec.begin ();
cout<< (*it) .id<< ' << (*it) .length<< ' << (*it) .width<<endl;
return 0; }
3 algorithm
(1) Use reverse to flip the element: Requires a header file #include<algorithm>
Reverse (Vec.begin (), Vec.end ()); Flip the element (in vector, if two iterators are required in a function,
Usually the latter one is not included.)
(2) Use sort order: Need header file #include<algorithm>,
Sort (Vec.begin (), Vec.end ());(default is in ascending order, that is, from small to large.
You can compare the sort comparison functions by overriding them in descending order, as follows:
To define a sort comparison function:
BOOL Comp (const int &A,CONST int &b)
{
Return a>b;
}
When called: Sort (Vec.begin (), Vec.end (), Comp), sorted in descending order.