fill函数的作用:将一个区间的元素都赋予val值。
函数参数 :fill(vec.begin(), vec.end(), val); val为将要替换的值。
fill函数的作用是:将一个区间的元素都赋予val值。函数参数:fill(first,last,val);//first为容器的首迭代器,last为容器的末迭代器,val为将要替换的值。
本文作者原创,转载请附上文章出处与本文链接。
C++ fill和fill_n函数用法详解目录
1 fill函数
#include <iostream>
#include <deque>
#include <vector>
#include <algorithm>
#include <list>
#include <set>
#include <functional>
#include <iterator>
using namespace std;
int main()
{
bool p[501];
fill(p + 1, p + 500, 0);
int ip[501];
fill(ip + 1, ip + 500, 1);
}
2 fill_n函数
fill_n函数的作用是:给你一个起始点,然后再给你一个数值count和val。把从起始点开始依次赋予count个元素val的值。
注意: 不能在没有元素的空容器上调用fill_n函数
例题:给你n个数,然后输入一些操作:start,count,paint。表示从start开始连续填充count个数字,paint为填充的数值。
#include <iostream>
#include <deque>
#include <vector>
#include <algorithm>
#include <list>
#include <set>
#include <functional>
#include <iterator>
using namespace std;
int main()
{
vector<int> myvector(8, 10); // myvector: 10 10 10 10 10 10 10 10
fill_n(myvector.begin(), 4, 20); // myvector: 20 20 20 20 10 10 10 10
fill_n(myvector.begin() + 3, 3, 33); // myvector: 20 20 20 33 33 33 10 10
cout << "myvector contains:";
for (vector<int>::iterator it = myvector.begin(); it != myvector.end(); ++it)
cout << " " << *it;
cout << endl;
return 0;
}