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)区间里的元素。

四、用邻接表存储图

//未完待续

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值