栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 学习之算术生成算法accumulate(累加)、fill(填充)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 学习之算术生成算法accumulate(累加)、fill(填充)

1、函数原型
  • 算术生成算法属于小型算法,使用时包含的头文件为 #include

  • accumulate(iterator beg, iterator end, value);

    // 计算容器元素累计总和

    // beg 开始迭代器

    // end 结束迭代器

    // value 起始值

  • fill(iterator beg, iterator end, value);

    // 向容器中填充元素

    // beg 开始迭代器

    // end 结束迭代器

    // value 填充的值

2、示例代码
#include
#include
#include
#include
#include//包含小型算法头文件
using namespace std;


class print
{
public:
	void operator()(int v1)
	{
		cout << v1 << " ";
	}
};



void test01()//accumulate
{
	vector v;
	for (int i = 0; i < 10; i++)
	{
		v.push_back(i);
	}

	for_each(v.begin(), v.end(), print());
	cout << endl;

	int sum = accumulate(v.begin(), v.end(), 10);//最后一个参数为起始值,从该值往上累加容器里边所有元素的和

	cout << sum << endl;

}




void test02()
{
	vector v;
	
	v.push_back(2);
	v.push_back(4);
	v.push_back(6);
	v.push_back(8);
	v.push_back(4);
	v.push_back(6);

	for_each(v.begin(), v.end(), print());
	
	//后期重新填充
	fill(v.begin(), v.end(), 100);//把容器内区间的元素用100来填充

	cout << endl;
	for_each(v.begin(), v.end(), print());

}



int main()
{
	//test01();//accumulate

	test02();//fill
		
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/429556.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号