vector详解

/*vector向量容器*/

//用数组方式访问vector元素 
#include<iostream>
#include<vector>
#include<cstdio> 
using namespace std;
int main()
{
    vector<int>v;
    v.push_back(20);//尾端插入新元素
    v.push_back(26);
    v.push_back(12);
    for(int i=0;i<v.size();i++) 
        cout<<v[i]<<' '; 
    getchar();
    return 0;
}
//输出:20 26 12

//用迭代器访问vector
#include<iostream>
#include<vector>
#include<cstdio>
using namespace std;
vector<int>v;
void print()//迭代器遍历 
{
    int j;
    vector<int>::iterator i;
    for(i=v.begin(),j=0;i!=v.end();i++,j++)
      cout<<"v["<<j<<"]="<<*i<<" ";
    cout<<endl;
} 
int main()
{
    int j;
    v.push_back(0);/*尾端插入新元素*/ print();
    v.push_back(1);print();
    /*v.clear();全部清空元素 */
    v.push_back(2);print();
    v.insert(v.begin()+2,9);/*插入9在第二个后面 */print();
    v.insert(v.begin(),5);/*插入5为首元素print(); */print();
    v.insert(v.end(),12);/*插入12为末元素 */print();
    
    v.erase(v.begin()+1);/*删除第2个元素 */print();
    v.erase(v.begin(),v.begin()+2);/*删除前两个元素 */print();
    
    swap(v[1],v[2]);print();
    
    cout<<v.empty()<<endl;/*判断是否为空 */
    cout<<v.size()<<endl;/*元素实际个数 */
    cout<<v.max_size()<<endl;/*可容纳的最大元素个数 */
    cout<<v.size()<<endl;
    cout<<v.capacity()<<endl;/*当前可容纳的vector元素个数 */
    cout<<v.front()<<endl;/*首元素引用*/ 
    cout<<v.back()<<endl;/*末元素引用 */
    v.pop_back();/*删除末尾的一个元素 */print();
    
    v.reserve(30);/*调整数据空间大小 */
    cout<<v.capacity()<<endl;
    
    vector<int>::reverse_iterator ri;//反向迭代器 
    for(ri=v.rbegin();ri!=v.rend();ri++)//首尾反向 
      cout<<*ri<<" ";
    getchar();
    return 0;
}

/*输出:
v[0]=0
v[0]=0 v[1]=1
v[0]=0 v[1]=1 v[2]=2
v[0]=0 v[1]=1 v[2]=9 v[3]=2
v[0]=5 v[1]=0 v[2]=1 v[3]=9 v[4]=2
v[0]=5 v[1]=0 v[2]=1 v[3]=9 v[4]=2 v[5]=12
v[0]=5 v[1]=1 v[2]=9 v[3]=2 v[4]=12
v[0]=9 v[1]=2 v[2]=12
v[0]=9 v[1]=12 v[2]=2
0
3
1073741823
3
8
9
2
v[0]=9 v[1]=12
30
12 9*/ 
/*reverse 颠倒
vector 向量*/ 

 

posted @ 2016-11-14 17:14  Echo宝贝儿  阅读(152)  评论(0编辑  收藏  举报