C++程序:将一个数组的所有元素复制到另一个数组


数组数据结构用于存储同类型的数据到连续的内存位置,以便以顺序方式访问它们。数组是线性数据结构,因此可以在线性时间内执行数组的基本操作。在本文中,我们将了解如何在 C++ 中将一个数组的元素复制到另一个新数组。

由于数组元素是同类型的,因此新数组将具有相同的类型。在创建另一个相同大小的数组后,我们只需将第一个数组中的元素逐个复制到第二个数组中。让我们看看算法和 C++ 实现,以便更好地理解。

算法

  • 读取数组 A 及其大小 n 作为输入
  • 创建一个大小与 A 相同(为 n)的空数组 B
  • 对于 i 从 0 到 n-1,执行以下操作:
    • B[ i ] := A[ i ]
  • 结束循环

示例

Open Compiler
#include <iostream> using namespace std; void display( int arr[], int n ){ for ( int i = 0; i < n; i++ ) { cout << arr[i] << ", "; } } void solve( int arr[], int newArr[], int n ){ int i; for ( i = 0; i < n; i++ ) { newArr[ i ] = arr [ i ]; } } int main(){ int arr[] = {9, 15, 24, 28, 20, 6, 12, 78, 2, 12, 78, 44, 25, 115, 255, 14, 96, 84 }; int n = sizeof( arr ) / sizeof( arr[0] ); cout << "Given array: "; display(arr, n); int newArray[n] = {0}; solve( arr, newArray, n ); cout << "\nArray After copying: "; display(newArray, n); }

输出

Given array: 9, 15, 24, 28, 20, 6, 12, 78, 2, 12, 78, 44, 25, 115, 255, 14, 96, 84, 
Array After copying: 9, 15, 24, 28, 20, 6, 12, 78, 2, 12, 78, 44, 25, 115, 255, 14, 96, 84,

结论

从一个数组复制元素是基于数组的编程中最简单的任务之一。我们创建一个新的数组,其大小至少为给定数组的大小。然后,我们遍历给定数组的每个索引,然后将元素从给定数组复制到新数组。由于它不需要遍历数组超过一次,因此可以在线性时间内执行此操作,因此渐近上界为 O(n)。对于空间使用情况,它也需要为新数组分配相同数量的空间。它需要 O(n) 的空间来将元素复制到新数组。

更新于: 2022-12-14

3K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告