Vector的常见用法详解

本文深入讲解C++ STL中的Vector容器,介绍其定义、元素访问、常用函数及如何用于邻接表存储图。Vector作为不定长数组,能自动调整大小,避免数组越界问题,适用于动态数据结构。

C语言中,我们常常为数组开多大而烦恼,这时vector能很好的解决数组越界等情况。

vector即向量,我们称他为“不定长数组”比较好,它的长度会根据需要而自动变化,另外vector还可以用来以邻接链表的方式储存图,另外Vector在使用时需要声明#include<vector>以及using namespace std;下面我们就能使用vector了:

一、vector的定义:

  • 单独定义一个vertor
vector<typename> name;

注:typename可以是任何基本类型,例如:char,int,double,结构体等,并且其也可以是STL的标准容器,如vector,set,queue等。但当typename是STL的标准容器时,定义的时候要在>>前加上空格符,即vector<vector<int> >name;

  • 定义Vector数组的方法
    vector<typename> arrayname[arraysize];

二、Vector容器内元素的访问

vector一般有两种访问方式:

  • 通过下标访问:
    与普通数组访问方式相同!
  • 通过迭代器访问:
    可以理解为通过指针访问,其定义为:vector<int>::iterator it;这样我们便定义好了一个迭代器(iterator)it,并且可以通过*it来访问vector里面的元素。举个例子:
vector<int>vi;
for(vector<int>::iterator it = vi.begin();it != vi.end;it++)
{
	printf("%d",*it);
}//vi是已经定义好的一个数组

三、vector常用函数

  • begin();获取vector首元素地址。例:for(vector<int>::iterator it = vi.begin();it != vi.end;it++)
  • end();获取vector末元素的地址。例:同上
    :vector迭代器不支持it < vi.end()的写法,因此只能用it != vi.end()
  • push_back(x)再vector后面添加一个元素x 例:vi.push_back(x);
  • pop.back();删除vector的尾元素。 例:vi.pop.back();
  • size();获取vector中元素个数。 例:vi.size();
  • clear();清除vector中所有的元素。例:vi.clear();
  • insert(it,x);向vector的任意迭代器it处插入一个元素x。例: vi.insert(vi.begin()+2,-1);//再数组vi第二个元素后插入-1
  • erase();erase()有两种用法:1.erase(it);删除迭代器为it处的元素
    2.erase(first,last)删除[first,last)区间里的元素。

四、用邻接表存储图

//未完待续

Vector是C++中一个非常有用的容器类,它可以动态地调整存储空间大小。下面是一些常见的使用方法: 1. 创建Vector 使用Vector时,需要包含头文件<vector>。创建一个空的Vector对象可以使用默认构造函数: ```c++ #include <vector> using namespace std; vector<int> vec; //创建一个空的vector ``` 也可以使用初始化列表来创建一个包含元素的Vector: ```c++ vector<int> vec = {1, 2, 3, 4, 5}; //创建包含5个元素的vector ``` 2. 添加元素 向Vector中添加元素使用push_back()方法,可以添加任意类型的元素,例如: ```c++ vec.push_back(6); //向Vector中添加一个整数 vec.push_back("hello"); //向Vector中添加一个字符串 ``` 3. 访问元素 可以使用下标操作符[]或at()方法来访问Vector中的元素,例如: ```c++ int a = vec[0]; //获取Vector中第一个元素 int b = vec.at(1); //获取Vector中第二个元素 ``` 4. 删除元素 使用erase()方法可以删除Vector中的元素,例如: ```c++ vec.erase(vec.begin() + 2); //删除Vector中索引为2的元素 ``` 5. 获取Vector大小 使用size()方法可以获取Vector中元素的数量,例如: ```c++ int size = vec.size(); //获取Vector中元素的数量 ``` 6. 获取Vector容量 使用capacity()方法可以获取Vector的容量,即Vector中可以存储的元素数量,例如: ```c++ int capacity = vec.capacity(); //获取Vector的容量 ``` 7. 清空Vector 使用clear()方法可以清空Vector中的所有元素,例如: ```c++ vec.clear(); //清空Vector中的所有元素 ``` 以上是Vector的一些常见用法,还有很多其他的用法可以参考C++官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值