首页 > 技术文章 > 关于vector的操作

Gaomez 2021-01-30 18:48 原文

vecotr本质上是动态分配内存的数组,所以不能指望拿它的insert和erase当成链表用.这两者的复杂度都是O(n).

如果数据规模很小想要方便的话倒是可以用用,比如这道水题.

如果用的话记住如下方式:

/*************ERASE**************/
// 删除元素s[i]
    auto it = s.begin() + i;
    s.erase(it);
/*************INSERT**************/
// 在元素s[i]前插入元素x
// 这意味着i位置变为元素x
    auto it = s.begin() + i;
    s.insert(it, x);

 

推荐阅读