STL - vector用法总结

6 篇文章 1 订阅

(我的STL相关的博客目录:https://blog.csdn.net/Kprogram/article/details/90408011

(vector-c++官网:http://www.cplusplus.com/reference/vector/)

vector "向量“相当于长度可以自由变换的数组,而且我们不需要关心它是如何增减元素的,直接使用即可。

如果不考虑速度,可以用vector完全替代数组

0 - 头文件:vector  命名空间:std

#include <vector>
using namespace std;

1 - 构建一个vector:vector<typename> name 

    typename指的是队列内数据类型,可以是 int, double, 可以是struct, class, 也可以是 vector, string等等。总之是一个数据对象都行。

    name 是你构建的vector的名字,符合变量命名法则就行。

    例:构建一个 int 类型的vector, 名字叫做 V。

vector<int> V;

2 - 成员函数 ( 假设你创建的vector对象名字叫 V )

    (粉红色的函数为常用函数!大部分情况下这些函数就够用了)

容量和尺寸:

    size():返回容量大小(元素数量)

        V.maxsize():返回最大容量

    empy():如果vector为空,返回True, 反之则返回 False。

    resize(n):重新设置对象的长度,如果n小于size,则保留前n个数据。反之,随便增加元素到n,或者增加指定元素:V.resize(n, data)

    capacity():返回vector的容量大小,容量不同于size,如果元素的数量超过了容量vector会重新分配内存,以存储更多的元素,且会造造成一些影响(具体点击这里

    reserve(n):重置vector的容量,如果n小于容量,则不会造成影响。

    shrink_to_fit():缩小容量至其等于size。

遍历vector的一般方法举列:
for(int i = 0; i < V.size(); i++) {
    int I = V[i];
    ...//对I的操作等

元素:

    V[n]:跟数组一个道理

    back():返回最后一个元素的引用(意味着可以用V.back() = data修改末尾元素值)

    front():返回第一个元素的引用

    at(n):返回第n个元素的引用

    data():返回元素的指针

修改器:

    push_back(type):添加一个元素type到向量的末尾

    pop_back():删除末尾元素

    insert(type):插入元素type于n处

    erase(V.begin() + n):删除第n个元素(假设你创建的vector名字为V)

        erase(a, b):删除[a, b]内所有元素

    V.swap(V1):交换 V 和 V1 两个vector的内容

    clear():清除所有元素

    emplace() 和 emplace_back():和push非常相似,但是可以取代push,并做出了优化。 >用法和与push的区别点这里<

    (vector还有关于迭代的函数,这里不进行介绍)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值