• 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尾部插入元素-

    在这里插入图片描述

  • 相关阅读:
    Hadoop Distributed System (HDFS) 写入和读取流程
    JUC在深入面试题——三种方式实现线程等待和唤醒(wait/notify,await/signal,LockSupport的park/unpark)
    Python之json的dump和dumps方法
    1000套web前端期末大作业 HTML+CSS+JavaScript网页设计实例 企业网站制作【建议收藏】
    php基于微信小程序的医院预约挂号系统+uinapp+Mysql+计算机毕业设计
    《Python进阶系列》十一:集合(set and frozenset)语法汇总
    TIM(4)Encoder_interface
    mediasoup 源码分析(五) 创建room 和 router
    kubernetes--ingress
    C++6种基础线程的应用
  • 原文地址:https://blog.csdn.net/m0_57723028/article/details/126116798