c++的算术生成算法

#include<numeric>//算术生成算法头文件

要加的头文件#include<numeric>

accumulate 是 C++ 标准库中的一个算法函数,用于计算给定范围内的数值之和,它位于 <numeric> 头文件中。它的函数原型如下:

template <class InputIt, class T> T accumulate(InputIt first, InputIt last, T init);

其中,InputIt 是一个迭代器类型,表示输入范围的起始和结束位置;T 是要累加的数值类型;init 是初始值,即累加的初始结果。

accumulate 函数会将输入范围 [first, last) 中的元素依次累加到初始值上,并返回最终的累加结果。累加过程中,会使用元素的加法运算符进行累加。

void test01()
{
	vector<int>v = { 10,20,30 };
	int n=accumulate(v.begin(), v.end(), 0);//总和上再加0
	cout << n << endl;
}
//操作对象
class maker
{
public:
	maker(int age)
	{
		this->age = age;
	}
public:
	int age;
};
struct myfunc
{
	int operator()(int val, maker& m)
	{
		return val + m.age;
	}
};
void test02()
{
	vector<maker>v = { maker(10),maker(20),maker(30) };
	int a=accumulate(v.begin(), v.end(), 0, myfunc());
	cout << a << endl;
}

fill 是 C++ 标准库中的一个算法函数,用于将给定值赋给指定范围内的所有元素。它位于 <algorithm> 头文件中。fill 的函数原型如下:

template <class ForwardIt, class T> void fill(ForwardIt first, ForwardIt last, const T& value);

其中,ForwardIt 是一个前向迭代器类型,表示要填充的范围的起始和结束位置;T 是要赋给元素的值类型;value 是要填充的值。

fill 函数会将输入范围 [first, last) 中的所有元素都赋值为 value

void test03()
{
	vector<int>v;
	v.resize(10);
	fill(v.begin(), v.end(), 100);
	for_each(v.begin(), v.end(), [](int val)->void {cout << val << " "; });
}

相关推荐

  1. c++算术生成算法

    2023-12-07 11:00:07       42 阅读
  2. C++算法:贪心算法

    2023-12-07 11:00:07       7 阅读
  3. STL——常用算术生成算法

    2023-12-07 11:00:07       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 11:00:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 11:00:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 11:00:07       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 11:00:07       20 阅读

热门阅读

  1. Flask 集成SQLAlchemy

    2023-12-07 11:00:07       30 阅读
  2. 力扣:198. 打家劫舍(Python3)

    2023-12-07 11:00:07       42 阅读
  3. RPC之GRPC:什么是GRPC、GRPC的优缺点、GRPC使用场景

    2023-12-07 11:00:07       42 阅读
  4. CasADi - 最优控制开源 Python/MATLAB 库

    2023-12-07 11:00:07       33 阅读
  5. 如何在Ubuntu上安装pip3

    2023-12-07 11:00:07       45 阅读
  6. 嵌入式Web设计与W5500的应用

    2023-12-07 11:00:07       36 阅读
  7. MATLAB: 调整坐标轴范围

    2023-12-07 11:00:07       44 阅读
  8. 大屏适配方案(vw、vh)

    2023-12-07 11:00:07       32 阅读
  9. 字符个数统计

    2023-12-07 11:00:07       36 阅读
  10. stm32 RTC时钟设置能不能用毫秒

    2023-12-07 11:00:07       38 阅读