模板类Vector【GeekBand 第六周】

模板类Vector

vector<int> v1 = { 1,2,3,4,5,6};
vector<int> v2 = { 11,22,33,55,66};
int nums = v1.size();
swap(v1[0] , v2[0]);   // swap()需包含头文件:#include <algorithm>

使用迭代器:

vector<int>::iterator pos;
pos = v1.begin();  //获取第一个元素
pos = v1.end();    //获取最后一个元素

auto pos = v1.begin();  //使用auto必须立即初始化
auto pos1= v1.end();

begin() 和 end() 最基础用法可用于遍历容器元素:

for(pos = v1.begin(); pos != v1.end(); pos++) { ... }  //获得的pos类似指针,取元素值操作: *pos

push_back():添加元素到末尾,长度自动增加

v1.push_back(10); //添加(int)10 到v1末尾

erase():删除指定区间内容,长度自动减小

v1.erase(v1.begin(), v1.begin()+2); //删除v1的前2个元素,不包括第3个元素

insert():插入一定区间内元素,三个参数(第一个:指定插入位置,第二、第三个:插入的区间)

v2.insert(v2.begin(), v1.begin(), v1.end()); //将v1所有元素插入到v2第一个元素前面

for_each():对区间内所有元素执行指定操作(第一、第二个参数指定区间,第三个参数为函数指针(函数对象))

for_each(v1.begin(), v1.end(), f_print); //f_print()函数不能修改区间内元素

random_shuffle():随机排列区间内元素

random_shuffle(v1.begin(), v1.end());

sort():对区间内元素进行排序(内置的 < 运算符比较)

sort(v1.begin(), v1.end());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值