欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > vector(STL)

vector(STL)

2025/2/24 4:08:03 来源:https://blog.csdn.net/2302_81590667/article/details/140671861  浏览:    关键词:vector(STL)

文章目录

  • 定义
  • 访问
  • 函数
    • .push_back()
    • .pop_back()
    • insert():
    • erase():

定义

vector<typename> name;

typename是类型名

访问

1.定义为vector v 的vector容器,可以使用 v[0]、v[1]、v[2]…这种方式来访问。
但不能这样赋值比如v[0]=10,这样是不行的
2.还可以用auto这种迭代器访问

函数

.push_back()

输入函数:括号里写元素

.pop_back()

pop_back()可以删除vector的尾元素,时间复杂度为O(1):

insert():

insert(it, x)用来向vector的任意迭代器it处插入一个元素x,时间复杂度O(N):
例子

#include<bits/stdc++.h>
using namespace std;
int main(){vector<int> v;for(int i = 1; i <= 5; i++){v.push_back(i);	//将1、2、3、4、5 依次插入v的队尾 }v.insert(v.begin() + 2, -1);	//将-1插入v[2]的位置 for(vector<int>::iterator it = v.begin(); it != v.end(); it++){cout << *it << " ";}return 0; 
} 

erase():

erase()有两种用法:删除单个元素、删除一个区间内所有元素。时间复杂度为O(N)
1.删除单个元素
erase(it)即删除迭代器为it处的元素:
例子

#include<bits/stdc++.h>
using namespace std;
int main(){vector<int> v;for(int i = 1; i <= 5; i++){v.push_back(i);	//将1、2、3、4、5 依次插入v的队尾 }v.erase(v.begin() + 2);	//删除3 for(vector<int>::iterator it = v.begin(); it != v.end(); it++){cout << *it << " ";}return 0; 
} 

2.删除多个元素
erase(first, last)即删除[first, last)内的所有元素:
例子

#include<bits/stdc++.h>
using namespace std;
int main(){vector<int> v;for(int i = 1; i <= 5; i++){v.push_back(i);	//将1、2、3、4、5 依次插入v的队尾 }v.erase(v.begin() + 1, v.begin() + 3);	//删除2和3 for(vector<int>::iterator it = v.begin(); it != v.end(); it++){cout << *it << " ";}return 0; 
} 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词