zoukankan      html  css  js  c++  java
  • C++线性序列容器<vector>简单总结

    C++线性序列容器<vector>简单总结

    vector是一个长度可变的数组,使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加;Vector类提供额外的方法来增加、删除元素,比数组操作高效。

    头文件:#include <vector>

    命名空间:using namespace std:vector

    构造函数

    vector<int>vec_int;         // 创建一个整形元素的vector

    vector<string>vec_string;    // 创建一个string元素的vector

    vector<Mystruct>vec_Mystruct;   // 创建一个元素是结构的vector

    基本维护操作

    1.访问

    下标访问和at()两种方式,推荐第二种方法,它会进行边界检查。

    vec_int[1], vec_int.at(1);    // 访问索引为1的元素,第2个元素

    int size() const;                    // 返回向量中的元素个数

    bool empty() const;              // 判断向量是否为空,true为空,false为不空

    reference back( );                 // 返回向量的最后一个元素的引用,可以被修改

    reference front( );                // 返回向量的第一个元素的引用,可以被修改

    2.添加

    void push_back(const T& Val); ;  // 在vector末尾处添加一个元素。

    3.删除

    void pop_back( );        // 删除向量末尾处的元素。

    void clear();                // 清除向量中的所有元素

    4.插入

    void insert(iterator it, int count, T& value);  // 在迭代器的位置插入指定count数量的value值,count参数可选,默认为1

    5.遍历

    常用的使用迭代器遍历,也非常方便;

    iterator begin();           // 返回向量的第一个元素的迭代器

    iterator end( );            // 返回向量的最后一个元素的迭代器

    遍历方法:

    for (vector<int>::iterator vec_it = vec_int.begin(); vec_it != vec_int.end(); vec_it++)
    {
        cout << *vec_it << endl;
    }

    成员函数

    assign
    清除矢量并将指定的元素复制到该空矢量。
    at 返回对矢量中指定位置的元素的引用。
    back 返回对向量中最后一个元素的引用。
    begin 对该向量中第一个元素返回随机访问迭代器。
    capacity 返回在不分配更多的存储的情况下向量可以包含的元素数。
    cbegin 返回指向向量中第一个元素的随机访问常量迭代器。
    cend 返回一个随机访问常量迭代器,它指向刚超过矢量末尾的位置。
    crbegin 返回一个指向反向矢量中第一个元素的常量迭代器。
    crend 返回一个指向反向矢量末尾的常量迭代器。
    clear 清除向量的元素。
    data 返回指向向量中第一个元素的指针。
    emplace 将就地构造的元素插入到指定位置的向量中。
    emplace_back 将一个就地构造的元素添加到向量末尾。
    empty 测试矢量容器是否为空。
    end 返回指向矢量末尾的随机访问迭代器。
    erase 从指定位置删除向量中的一个元素或一系列元素。
    front 返回对向量中第一个元素的引用。
    get_allocator 将对象返回到矢量使用的 allocator 类。
    insert 将一个元素或多个元素插入到指定位置的向量中。
    max_size 返回向量的最大长度。
    pop_back 删除矢量末尾处的元素。
    push_back 在矢量末尾处添加一个元素。
    rbegin 返回指向反向向量中第一个元素的迭代器。
    rend 返回一个指向反向矢量末尾的迭代器。
    reserve 保留向量对象的最小存储长度。
    resize 为矢量指定新的大小。
    shrink_to_fit 放弃额外容量。
    size 返回vector元素个数
    swap 交换两个向量的元素。

    咦!你居然读完了!
    有收获吗?觉得不错的话,不要忘了点赞和关注哦!
    欢迎到我的个人博客参观哦!

  • 相关阅读:
    django用户认证系统——基本设置1
    django用户认证系统——注册3
    django数据库设计
    修改linux最大文件句柄数
    LoadRunner监控Linux
    MySQL设置密码的三种方法
    JMeter学习-021-JMeter 定时器的应用
    mysql-bin.000001文件的来源及处理方法【转】
    js读取解析JSON数据
    关于查询区域标注区域总结
  • 原文地址:https://www.cnblogs.com/youyoui/p/5779965.html
Copyright © 2011-2022 走看看