泛型算法

find和find_if

find: 根据equality操作符,循环查找[first,last)内的所有元素,找出第一个匹配"等同(equality)条件"者。如果找到,就返回一个InputIterator指向该元素,否则返回迭代器last。

find_if:根据指定的pred运算条件(以仿函数表示),循环查找[first,last)内的所有元素,找出第一个令pred运算结果true者。如果找到就返回一个InputIterator指向该元素,否则就返回迭代器last。

bool odd(int i) { return i % 2; }

find(v1.begin(), v1.end(), 42);找到V1中第一个为42的并返回迭代器位置
find_if(v1.begin(), v1.end(), odd); 找到第一个令odd返回true的元素位置


reversereverse_copy

reverse函数的作用是:反转一个容器内元素的顺序。reverse函数的作用是:反转一个容器内元素的顺序。

reverse_copy函数和reverse函数的唯一区别在于:reverse_copy会将结果拷贝到另外一个容器中,不影响原容器的内容。

reverse(str.begin(),str.end());

reverse_copy(first.begin(),first.end(),second.begin());

fill和fill_n(向一个容器中填入,必须是长度确定的容器)

fill只能接受两个迭代器和内容,fill_n能够接受起始位置+数量+内容


back_inserter

插入迭代器,保证算法有足够的容纳空间来容纳输出的元素,来一个加一个位置。

vector<int> v2;

fill_n(back_inserter(v2),10,0)

reverse_copy(v1.begin(), v1.end(), back_inserter(v2));





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值