C++算法accumulate()和adjacent_difference()

泛型算法通则:所有算法的前两个参数都是一对iterators:[first,last],用来指出容器内一个范围内的元素。每个算法的声明中,都表现出它所需要的最低层次的iterator类型。

accumulate()    元素累加

例:

//创建动态数组

vector<int> CreateVector1()

{

    vector<int> VeInt;

    srand(time(0));

    for (int i = 2; i < 12; i++)

    {

        VeInt.push_back(rand() % 100);

    }

    return VeInt;

}

//元素累加

int Accumulate(vector<int> intvector)

{

    int num = 0;

    num = accumulate(intvector.begin(), intvector.end(),0);

    return num;

}

//输出元素

void ShowVector(vector<int> VeInt)

{

  vector<int>::iterator showVeInt;

  for (showVeInt = VeInt.begin(); showVeInt != VeInt.end(); showVeInt++)

  {

      cout << *showVeInt << " ";

  }

  cout << endl;

}

 

//主函数

void main()

{

    vector<int> intArr = CreateVector1();

    ShowVector(intArr);

    cout << Accumulate(intArr) << endl;

}

   

泛型算法名称

accumulate()

作用

将容器中的数值相加

参数

容器开头,容器结尾,累加初始值

 

adjacent_difference()  相邻元素的差额

 

// adjacent_difference()方法

void Adjacent_difference(vector<int> &intvector)

{

    adjacent_difference(intvector.begin(), intvector.end(), intvector.begin());

}

//主方法

void main()

{

    vector<int> intArr = CreateVector1();

    ShowVector(intArr);

    Adjacent_difference(intArr);//相邻元素差额

    ShowVector(intArr);

}

 

泛型算法名称

adjacent_difference()

作用

将容器中的后一个减去前一个获得差值,放置到另一个容器中,容器可以是本身

参数

容器开头,容器结尾,容器

 

只是最简单的例子。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值