浅谈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)\)。
用法大致相同
标签:insert,begin,end,浅谈,插入,vector,此时,奇技淫巧 来源: https://www.cnblogs.com/fusiwei/p/14059381.html