• C++——vector的用法



    vector 说明

    vector是向量类型,可以容纳许多类型的数据,因此也被称为容器
    (可以理解为动态数组,是封装好了的类)
    进行vector操作前应添加头文件#include

    vector初始化

    方式1.

    //定义具有10个整型元素的向量(尖括号为元素类型名,它可以是任何合法的数据类型),不具有初值,其值不确定
    vector<int>a(10);
    
    • 1
    • 2

    方式2.

    //定义具有10个整型元素的向量,且给出的每个元素初值为1
    vector<int>a(10,1);
    
    • 1
    • 2

    方式3.

    //用向量b给向量a赋值,a的值完全等价于b的值
    vector<int>a(b);
    
    • 1
    • 2

    方式4.

    //将向量b中从0-2(共三个)的元素赋值给a,a的类型为int型
    vector<int>a(b.begin(),b.begin+3);
    
    • 1
    • 2

    方式5.

     //从数组中获得初值
    int b[7]={1,2,3,4,5,6,7};
    vector<int> a(b,b+7;
    
    • 1
    • 2
    • 3

    Vector所有方法总结如下

    方法名作用备注
    begin()指向vector首元素的迭代器vector::iterator
    end()指向vector尾元素下一个位置的迭代器vector::iterator
    rbegin()指向vector尾元素的反向迭代器,即rbegin()指向尾元素,rbegin-1指向倒数第二个元素vector::iterator
    rend()指向vector头元素前一个位置的反向迭代器,即rend()指向头元素前一个位置元素,rbegin-1指向第一个元素vector::iterator
    cbegin()指向vector头元素的const迭代器,与begin()不同的是返回迭代器类型为vector::const_iteratorvector::const_iterator
    cend()指向vector尾元素下一个位置的const迭代器,与end()不同的是返回迭代器类型为vector::const_iteratorvector::const_iterator
    crbegin()指向尾元素的const迭代器,即反向®的const©头(begin)迭代器vector::const_iterator
    crend()指向头元素下一个位置的const迭代器,即反向®的const©尾(end)迭代器Vector::const_iterator
    size()返回vector中元素个数-
    max_size()返回vector中最多能容纳元素个数-
    resize(n)改变vector的大小为n如果n比当前vector中元素个数大,则填充默认值
    capacity()当前分配给vector的容量大小-
    empty()判断vector是否为空-
    reserve(n)改变当前vecotr所分配空间的大小capacity为n如果当前capacity大于n,则不变
    shrink_to_fit()改变当前vecotr所分配空间的大小为size()-
    push_back()在vector的最后添加一个数据-
    pop_back()去掉vector的最后一个数据-
    at(i)得到编号位置i的数据-
    front()得到vector头元素的引用-
    back()得到vector的最后一个元素的引用-
    assign()用新的元素替换vector中旧的元素-
    insert()添加元素(任意位置)-
    erase()删除元素(任意位置)-
    clear()清空vector中的所有元素-
    swap()交换两个vector的元素-
    emplace()向vector中添加元素-
    emplace_back()在vector尾部插入元素-

    在这里插入图片描述

  • 相关阅读:
    【NLP】LSTM 唐诗生成器 pytorch 版
    《悉达多》
    win10本地python第三方库安装成功,但是pycharm项目无法使用解决方案
    [图解]《分析模式》漫谈07-反射,不是映射
    【List、Set、数据结构、Collections】-Collections
    开源协议介绍
    Springboot整合AOP实现日志的保存
    接口与抽象类的相同与不同
    用深度学习预测股市涨跌之学习记录
    几个常用的nosql数据库的操作方式
  • 原文地址:https://blog.csdn.net/m0_57723028/article/details/126116798