Vector的使用


一、vector的定义

1、需要一个头文件"vector"

2、声明时和普通数据类型差不多

vector<数据类型>变量名;


笔记:
这里使用的时候,数据类型可以填入int
然后呢,这个vecto你可以把它当做一个数组来用
它只不过是一个动态数组(它会自动进行一个扩增)
int a[100]; -> 我们声明一个静态数组的时候,往往要自己填上一个不能修改的数组大小。

二、vector如何传入数据

1、只能从尾部插入数据,因为它会自动扩容

如果你头尾或者中间都能插入数据的话,那空的地方怎么办

所以它就只能从尾部插入数据

2、插入的方法

(vector)变量名.push_back(这里填入需要插入的数据);

填入的数据可以是数字或者变量,填入的数据必须与声明时定义的数据类型相匹配。

三、遍历vector动态数组

a.第一种遍历方法

首先取出它的起始位置和终点位置

然后用一个变量存起来

itBegin=a.begin();

itEnd=a.end();

例如:vector<int>::iteratoritBegin=a.begin(), itEnd=a.end();

然后用一个while循环,条件就是当头没有到尾的时候就循环

例如: while (itBegin!=itEnd) {

cout<<*itBegin<<endl;

itBegin++;

}

b.第二种遍历方法(常用)

for (vector<int>::iteratorit=a.begin(); it!=a.end(); it++) {

cout<<*it<<endl;

}

c.第三种遍历方法(需要algorithm头文件)

    #include<algorithm>
    voidPrintln(intval) {
        cout<<val<<endl;
    }
    for_each (a.begin(), a.end(), Println);

四、vector中一些好玩的函数

1、插入数据

a.push_back(10);

a.push_back(110);

a.push_back(30);

这样就传入了三个数据到vector数组中

2、弹出最后一个数据

a.pop_back();

3、擦除数据

a.erase(a.begin(), a.begin() +2);

!!擦除数据能用迭代器来限定范围

4、给vector数组排序

sort(a.begin(), a.end());

!!排序也是能用迭代器来限定范围

5、还可以知道vector数组中存了多少个元素

cout<<a.size() <<endl;

6、插入数据

a.insert(a.begin(), 666);

这个括号的第一个填入迭代器加一个数字的位置(相当于插入的为位置,从0开始),后一个空就是填入需要插入的数据

!!这个插入数据不能空格插入,所以在插入数据的位置时,最好判断一下是否越界了,越界则会宕机。

7、清空vector数组

a.clear();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值