當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ std::fill_n()用法及代碼示例


C++ STL std::fill_n() 函數

fill_n()函數是算法頭的庫函數,用於給容器的n個元素賦值,它接受一個指向容器中起始位置的迭代器,n(元素個數)和一個要賦值的值給 n 個元素,並賦值。

注意:使用 fill_n() 函數 - 包括<algorithm>標題或者您可以簡單使用<bits/stdc++.h>頭文件。

std::fill_n() 函數的語法

    std::fill_n(iterator start, n, value);

參數:

  • iterator start- 一個迭代器,指向我們必須將值分配給接下來的 n 個元素的位置。
  • n- 要分配給給定值的元素數。
  • value- 要分配給 n 個元素的相同類型的值。

返回值: void- 它返回注意。

例:

    Input:
    vector<int> v(10);
    
    //filling 10 elements with -1
    fill(v.begin(), 10, -1);
    
    Output:
    -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

用於演示 std::fill_n() 函數使用的 C++ STL 程序

在這個程序中,我們將填充一個向量的 n 個元素。

//C++ STL program to demonstrate use of
//std::fill_n() function
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main()
{
    //vector
    vector<int> v(10);

    //filling all elements with -1
    fill_n(v.begin(), 10, -1);

    //printing vector elements
    cout << "v:";
    for (int x:v)
        cout << x << " ";
    cout << endl;

    //filling initial 3 elements with 100
    fill_n(v.begin(), 3, 100);

    //printing vector elements
    cout << "v:";
    for (int x:v)
        cout << x << " ";
    cout << endl;

    //filling rest of the elements with 200
    fill_n(v.begin() + 3, 7, 200);

    //printing vector elements
    cout << "v:";
    for (int x:v)
        cout << x << " ";
    cout << endl;

    return 0;
}

輸出

v:-1 -1 -1 -1 -1 -1 -1 -1 -1 -1
v:100 100 100 -1 -1 -1 -1 -1 -1 -1
v:100 100 100 200 200 200 200 200 200 200

參考:C++ std::fill_n()



相關用法


注:本文由純淨天空篩選整理自 std::fill_n() function with example in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。