前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文件库函数解析(1)

文件库函数解析(1)

作者头像
Max超
发布2019-01-21 11:21:18
6060
发布2019-01-21 11:21:18
举报

algorithm为算法库,里面部分的函数需要编译的环境为c++11 对于我使用Devc++设置环境的方法如下

这里写图片描述
这里写图片描述

只需要改成 g++ -std=c++11就可以了,好下面就来解析


all_of函数

代码语言:javascript
复制
bool all_of (InputIterator first, InputIterator last, UnaryPredicate pred);

第一个参数,第二个参数为迭代器或者数组地址,第三个为一元谓语函数 (就是一个参数的函数) 作用:判断该函数里的元素是否都满足pred,如果都满足,则返回真

代码语言:javascript
复制
#include<iostream>
#include<algorithm>

using namespace std;

int operation(int a)
{
    return a%2;
}
int main()
{
    int num[5] = {1,3,5,7,9};
    if(all_of(num,num+5,operation))
    {
        cout << "yes";
    }
    return 0;
}

any_of函数

代码语言:javascript
复制
 bool any_of (InputIterator first, InputIterator last, UnaryPredicate pred);

作用:判断一组数据中是否存在一个元素满足这个条件,如果满足,则返回真

binary_search函数

代码语言:javascript
复制
bool binary_search (ForwardIterator first, ForwardIterator last,
                      const T& val);
bool binary_search (ForwardIterator first, ForwardIterator last,
                      const T& val, Compare comp);
  1. 在数据中是否存在等于val的数
  2. 在数据中是否有满足comp函数的数(comp是二元谓语函数,val在第二个位置)

copy函数

代码语言:javascript
复制
 OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result);

作用:将数据复制到起始点为result的迭代器处,数据范围[first,last);

copy_backward函数

代码语言:javascript
复制
BidirectionalIterator2 copy_backward (BidirectionalIterator1 first,
BidirectionalIterator1 last,
BidirectionalIterator2 result);

作用:从result的位置开始依次往前复制(last,first]的值

代码语言:javascript
复制
#include <iostream>     // std::cout
#include <algorithm>    // std::copy_backward
#include <vector>       // std::vector

int main () {
  std::vector<int> myvector;

  // set some values:
  for (int i=1; i<=5; i++)
    myvector.push_back(i*10);          // myvector: 10 20 30 40 50

  myvector.resize(myvector.size()+3);  // allocate space for 3 more elements

  std::copy_backward ( myvector.begin(), myvector.begin()+5, myvector.end() );

  std::cout << "myvector contains:";
  for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)
    std::cout << ' ' << *it;
  std::cout << '\n';

  return 0;
}

copy_if

代码语言:javascript
复制
OutputIterator copy_if (InputIterator first, InputIterator last,
OutputIterator result, UnaryPredicate pred);

作用:满足pred函数就开始复制到result上,返回迭代器地址。

copy_n函数 OutputIterator copy_n (InputIterator first, Size n, OutputIterator result); 从first出复制n个数据到result中

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年02月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档