当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ copy_n()用法及代码示例


Copy_n()是STL中<algorithm>库中定义的C++函数。它有助于将一个数组元素复制到新数组。 Copy_n 函数允许自由选择必须在目标容器中复制多少元素。该函数有 3 个参数:源数组名称、数组大小和目标数组名称。

函数模板:

template <class InputIterator, class Size, class OutputIterator>
OutputIterator copy_n (InputIterator start_limit, Size count, OutputIterator result);

参数:

  • start_limit - 指向要复制的元素范围开头的输入迭代器。
    count- 要复制的元素数量。
    result- 将迭代器输出到新容器中的初始位置。

时间复杂度:在)
辅助空间:在)

示例 1:

C++


// C++ code to demonstrate the 
// working of copy_n() function 
// Used with array 
#include <algorithm> 
#include <iostream> 
  
using namespace std; 
  
int main() 
{ 
    // Initializing the array 
    int ar[6] = { 8, 2, 1, 7, 3, 9 }; 
  
    // Declaring second array 
    int ar1[6]; 
  
    // Using copy_n() to copy contents 
    copy_n(ar, 6, ar1); 
  
    // Displaying the new array 
    cout << "The new array after copying is : "; 
    for (int i = 0; i < 6; i++) { 
        cout << ar1[i] << " "; 
    } 
  
    return 0; 
}
输出
The new array after copying is : 8 2 1 7 3 9 

下面的代码演示了如何使用向量的 copy_n() 函数。

示例 2:

C++


// C++ code to demonstrate the 
// working of copy_n() function 
// Used with vector 
#include <algorithm> 
#include <iostream> 
#include <vector> 
  
using namespace std; 
  
int main() 
{ 
  
    // initializing the source vector 
    vector<int> v1 = { 8, 2, 1, 7, 3, 9 }; 
  
    // declaring destination vectors 
    vector<int> v2(6); 
  
    // using copy_n() to copy first 3 elements 
    copy_n(v1.begin(), 3, v2.begin()); 
  
    // printing new vector 
    cout << "The new vector after copying is : "; 
    for (int i = 0; i < v2.size(); i++) { 
        cout << v2[i] << " "; 
    } 
  
    return 0; 
}
输出
The new vector after copying is : 8 2 1 0 0 0 


相关用法


注:本文由纯净天空筛选整理自pushpeshrajdx01大神的英文原创作品 copy_n() Function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。