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

C++STL容器元素算法fill/fill

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

C++STL容器元素算法fill/fill

函数原型
template inline
void fill(_FwdIt _First, _FwdIt _Last, const _Ty& _Val)

 对一个容器的值进行填充时

参数

first 和 last 都为正向迭代器,[first, last) 用于指定该函数的查找范围;

val 给定值;

fill 容器
#include 
#include 
#include 
#include 
#include 

int main()
{	
	//容器
	std::vector b;//没确定配容器大小,不分配内存
	std::fill(std::begin(b), std::end(b), 4);
	std::cout << "b fill vector: ";
	std::for_each(std::begin(b), std::end(b), [](int value) {
		std::cout << value << ", ";
	});
	std::cout << std::endl;

	std::vector a(10);
	std::fill(std::begin(a), std::end(a), 6);
	std::cout << "a fill vector: ";
	std::for_each(std::begin(a), std::end(a), [](int value) {
		std::cout << value << ", ";
	});

	return -1;
}

//输出
b fill vector:
a fill vector: 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
数组
#include 
#include 
#include 
#include 
#include 

int main()
{	
	容器
	//std::vector b;//没确定配容器大小,不分配内存
	//std::fill(std::begin(b), std::end(b), 4);
	//std::cout << "b fill vector: ";
	//std::for_each(std::begin(b), std::end(b), [](int value) {
	//	std::cout << value << ", ";
	//});
	//std::cout << std::endl;

	//std::vector a(10);
	//一维
	int a[8]{ 0 };
	std::fill(std::begin(a), std::end(a), 6);
	std::cout << "a fill vector: ";
	std::for_each(std::begin(a), std::end(a), [](int value) {
		std::cout << value << ", ";
	});
	std::cout << std::endl;

	//二维
	int b[2][4]{ 0 };
	std::fill(b[0], b[0] + 2 * 4, 4);
	std::cout << "b fill vector: ";
	for (int i = 0; i < 2; ++i)
	{
		for (int j = 0; j < 2; ++j)
		{
			std::cout << b[i][j] << ", ";
		}
	}
	std::cout << std::endl;

	return -1;
}

//输出
a fill vector: 6, 6, 6, 6, 6, 6, 6, 6,
b fill vector: 4, 4, 4, 4,
fill_n

函数原型

template inline
_OutIt fill_n(_OutIt _Dest, _Diff _Count_raw, const _Ty& _Val)

以给定的迭代器为起始位置,为指定个数的元素设置值。

#include 
#include 
#include 
#include 
#include 
#include

int main()
{	
	//容器
	std::vector b(5);
	std::fill_n(std::begin(b), b.size(), 4);
	std::cout << "b fill vector: ";
	std::for_each(std::begin(b), std::end(b), [](int value) {
		std::cout << value << ", ";
	});
	std::cout << std::endl;

	//插入迭代器
	std::vector d;
	std::fill_n(std::back_inserter(d), 5, 7);
	std::cout << "d fill vector: ";
	std::for_each(std::begin(d), std::end(d), [](int value) {
		std::cout << value << ", ";
	});

	return -1;
}

//输出
b fill vector: 4, 4, 4, 4, 4,
d fill vector: 7, 7, 7, 7, 7,

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664474.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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