zoukankan      html  css  js  c++  java
  • STL vector

    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());// 删除某一段元素
    
    
  • 相关阅读:
    Vue插件之导出EXCEl
    vue.js--加载JSON文件的两种方式
    vue项目中axios的封装
    雪碧图布局
    开始学习算法
    Java中有关Null的9件事
    一个抓取知乎页面图片的简单爬虫
    浅析Java中的final关键字
    Java中String、StringBuilder以及StringBuffer
    把一个数组向右循环移动k位要求时间复杂度为O(n)
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10281106.html
Copyright © 2011-2022 走看看