栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ vector 使用方法(各种常用函数的介绍)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ vector 使用方法(各种常用函数的介绍)

一、vector的基础介绍 0、数组基础

一维数组与多维数组,是C++中最常用的系列存储工具,数组的常规使用的基础上,STL的中自带多种升级版的容器与基础函数,vector则是其中一款。

1、vector的基础概念

1.1 vector翻译为向量,但称为 可变长数组 或者 动态数组 更容易理解;
1.2 vector内部采用连续存储空间来存储元素,所以存储与操作的逻辑与数组类似,支持指定元素的快速访问和操作。
1.3 vector的元素不仅可以是int,double,string,还可以是 结构体(注意:结构体要定义为全局的,否则会出错)。

2、vector的适用场景

2.1 如果题目中某些数据范围不定,只用普通数组可能会超内存,针对这种情况,使用vector是个好的解决方案;
2.2 vector常用于邻接表的方式储存图,写法也非常简洁,适合图论初学者。

二、vector的功能函数与操作

1、基础函数
序号功能代码样例效果介绍备注
1定义1vector a;定义一个空的容器a
2定义2vector a(10);定义一个容器a,初始大小为10
3定义3vector a[10];定义十个容器a,即第一维有10格,第二维未设定大小常用于图的存储
4初始化1vector a(10,1);定义一个a,初始大小为10,每格的初始值为1
2、经典误区

刚开始接触vector的选手,会有一个使用数组留下的惯性误区;
请观察以下错误的遍历与操作代码:

vector a;
for(int i=0;i<10;i++) a[i]=i;
//错误分析:刚定义的向量a,下标关系未生成,所以访问空间不合法。
3、常用操作函数
序号功能代码样例效果介绍
1尾部插入a.push_back(x)在容器尾部插入一个值为x的元素
2中间插入a.insert(a.begin()+i,x)在第i个元素前插入x
3求长度a.size()返回元素个数
4访问头尾a.begin() a.end()访问容器的头部元素 尾部元素
5遍历1for(auto i:a)遍历a中所有元素
6遍历2for(i=v.begin();i遍历a中所有下标
7删除尾巴a.pop_back()删除尾部的元素
8删除某个元素a.erase(v.begin()+i)删除下标为i位置的元素
9删除某段a.erase(v.begin()+l,v.begin()+r)删除下标[l,r)的元素
10清空a.clear()清空容器所有元素
11排序sort(a.begin(),a.end());将a中元素按升序排列
12颠倒reverse(a.begin(),a.end());将a中元素顺序颠倒
13交换swap(a,b);交换两个序列的所有元素
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779117.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号