vector向量使用方法总结
来源:互联网 发布:液压制图软件 编辑:程序博客网 时间:2024/05/21 21:44
一、概述
vector是C++标准模板库中的一个重要组成部分,vector是一个容器,它能够存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,可以动态改变大小。
使用前提:
头文件包含:#include <vector>
命名空间:vector属于std命名空间,因此需要通过命名限定,可在文件开头加上
using std::vector;
或者
using namespace std;
或者
在定义每个vector对象时,写成std::vector
二、vector对象创建
可以将vector当做是一个类,其内部定义了构造函数和其他各种功能成员函数。其在定义对象时需注意初始化的一些细节,具体可以通过以下三个例子看出。
vector<int> vecExample1;//默认定义了一个长度为0,没有任何值的向量vecExample1,此时:vecExample1.size() = 0,vecExample1[0]会报错。如果用Debug来看的话,vecExample1为[0](),可通过push_back()函数来动态改变vecExample1的长度。
vector<int> vecExample2(1); //调用vector的构造函数,并传递参数1,即定义了一个长度为1,并默认初始化为0的向量vecExample2,此时:vecExample2.size()=1,vecExample2[0]=0。如果用Debug模式来看的话,vecExample2为[1](0)。仍然可以通过push_back()函数来动态改变vecExample的长度。
vector<int> vecExample3(100);//与定义vector<int> vecExample2(1)类似,只不过此时向量长度为100,并且每个向量元素都默认初始化为0。如果用Debug模式来看的话,vecExample3为[100](0,0,.......,0,0,0)。
vector<int> vecExample4(100,20); //与定义vector<int> vecExample3(100)类似,只不过此时相当于调用了vector模板类的另一种类型的构造函数,并初始化向量的每个元素为20。
三、vector对象操作
复制操作:
vector变量之间互不影响,即将向量A复制给向量B之后,如果改变向量B中的元素,并不会影响到向量A
功能函数:
可以使用的功能:
std::vector<int> c;
c.clear() 移除容器中所有数据,直接将vector变为空向量,即c.empty()为true。
c.empty() 判断容器是否为空
c.erase(pos) 删除pos位置的数据,向量长度会减少。pos需是迭代器类型
c.erase(beg,end) 删除[beg,end)区间的数据
c.front() 传回第一个数据。
c.insert(pos,elem) 在pos位置插入一个elem拷贝
c.pop_back() 删除最后一个数据。
c.push_back(elem) 在尾部加入一个数据。
c.resize(num) 重新设置该容器的大小
c.size() 回容器中实际数据的个数。
c.begin() 返回指向容器第一个元素的迭代器
c.end() 返回指向容器最后一个元素的迭代器
阅读全文
1 0
- vector向量使用方法总结
- c++ vector(向量)使用方法详解
- c++ vector(向量)使用方法详解
- c++ vector(向量)使用方法详解
- C++中vector(向量)基本使用方法
- Vector向量几种情况的总结
- 向量 VECTOR
- 向量Vector
- 向量vector
- 向量-Vector
- c++中vector向量几种情况的总结(向量指针,指针的向量)
- c++中vector向量几种情况的总结(向量指针,指针的向量)
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- 第8章-常用优先级和css3
- 鼎科TSUX6V6.0-E液晶电视驱动板维修
- Qt 中 Q_OBJECT与no such slot的问题
- HDU
- 深信服算法工程师面试总结
- vector向量使用方法总结
- c++课
- javaspilt会遇到的异常java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1
- 2.leetCode595: Big Countries
- 【模板】乘法逆元
- Java基础语法
- effective cpp 读书笔记2
- 最长公共子序列 python
- 图片上传