算法 |
返回值 |
作用 |
fill() |
void |
改填元素 |
fill_n() |
_OutIt |
改填元素 |
fill()的參數 |
_FwdIt _First, _FwdIt _Last, const _Ty& _Val |
|
fill_n的參數 |
_OutIt _Dest, _Diff _Count, const _Ty& _Val |
fill_n()的返回值爲一個容器的迭代器
//創建並初始化容器
vector<int> createStaticArr()
{
vector<int> vectorInt;
vectorInt.push_back(1);
vectorInt.push_back(2);
vectorInt.push_back(3);
vectorInt.push_back(4);
vectorInt.push_back(5);
vectorInt.push_back(6);
vectorInt.push_back(7);
vectorInt.push_back(8);
showArr(vectorInt);
return vectorInt;
}
//輸出容器
void showArr(vector<int> Arr)
{
vector<int>::iterator iteArr = Arr.begin();
for (iteArr ; iteArr != Arr.end(); iteArr++)
{
cout << *iteArr << "\t";
}
cout << endl;
}
/*----fill() "改填元素值" 和 fill_n() 該填元素值,n次*/
void my_fill(vector<int> &left, int val)
{
//前兩個參數爲需要改填容器的範圍,第三個參數是改填後的值
fill(left.begin(), left.end()-2, val);
}
void my_fill_n(vector<int> &left,int count, int val)
{
//第一個參數爲改填的開始位置,第二個參數爲改填的長度,第三個參數爲改填的值
fill_n(left.begin(), count,val);
}
void main()
{
cout << "第一條:"; vector<int> arr1 = createStaticArr();
my_fill(arr1, 2);
cout << "進行了fill()方法後:";
showArr(arr1);
my_fill_n(arr1, 3, 5);
cout << "進行了fill_n()方法後:";
showArr(arr1);
}