zoukankan      html  css  js  c++  java
  • 浅谈vector容器的奇技淫巧

    浅谈vector容器的奇技淫巧

    本篇随笔简单讲解一下C++STL中vector容器的一些其他操作。


    一、insert函数

    insert函数的时间复杂度是(O(n))的,就是暴力,要慎用。

    大体用法是这样:

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        vector<int> v(4);
        v[0]=2;
        v[1]=7;
        v[2]=9;
        v[3]=5;//此时v为2 7 9 5
    
        v.insert(v.begin(),8);//在最前面插入新元素,此时v为8 2 7 9 5
        v.insert(v.begin()+3,1);//在迭代器中下标为3的元素前插入新元素,此时v为8 2 7 1 9 5
        v.insert(v.end(),3);//在向量末尾追加新元素,此时v为8 2 7 1 9 5 3
        v.insert(v.end(),3,0);//在尾部插入3个0,此时v为8 2 7 1 9 5 3 0 0 0
    
        int a[] = {1,2,3,4};
        v.insert(v.end(),a[2],a[1]);//在尾部插入a[2]个a[1],此时v为8 2 7 1 9 5 3 0 0 0 2 2 2
    
        vector<int>::iterator it;
        for(it=v.begin(); it!=v.end();it++)
        {
            cout<<*it<<" ";
        }
        cout<<endl;
    }
    

    二、erase函数

    同样,也是暴力删除一个位置的数,时间复杂度还是(O(n))

    用法大致相同

  • 相关阅读:
    vue-loader
    slot内容分发
    单向数据流
    vue父子组件(1.0)
    vue组件
    vue过渡
    vue之自定义组件
    jquery下拉菜单
    vue之过滤器
    【数学】数学归纳法
  • 原文地址:https://www.cnblogs.com/fusiwei/p/14059381.html
Copyright © 2011-2022 走看看