重排容器算法【知识点】

知识点

泛型算法中的重排容器算法,以及算法中常见的lambda表达式用法。

知识内容

vector容器是一个顺序容器,初始化方法是{string1,string2}; 排序算法是sort(vector.begin(), vector.end());剔重算法是unique(vector.begin(),vector.end()),返回指向末尾的迭代器;删除算法是erase(vector.unique, vector.end())。

stable_sort算法稳定排序,保存相同元素在原序列的位置不变。

lambda表达式的形式是

[捕获列表](参数列表)->返回类型{函数体;}

看成是一个匿名函数,它的参数列表是由一个列表的元素自动指定,它的捕获列表是列表之外的变量赋值。常见的场景是如果排序有特殊的要求,要求不超过某个数,那么这个数可以作为变量放在捕获列表中。

对于例子[sz](const string &a) { return a.size() >= sz; },解释是sz是字符串的长度的下限,对字符串a的过滤条件是a的长度大于等于sz。

for_each算法是对范围内每个元素执行函数操作,可以是打印元素等

for(auto str:words)是遍历一个列表的简写形式,之前用for(auto it = words.begin(); it != words.end(); it++)显得长的。

其他

泛型算法很有用,记录下来,方便后面使用。

链接

https://github.com/xierensong/learngit/blob/master/STL/1.cpp

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值