卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章18695本站已运行341

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

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

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

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

算法

  • 读取数组 A 及其大小 n 作为输入
  • 创建大小与 A 相同的空数组 B,即 n
  • 对于 i 的范围从 0 到 n-1,执行
    • B[ i ] := A[ i ]​​i>
  • 结束

示例

'
#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) 空间量 元素添加到新数组。

卓越飞翔博客
上一篇: 重排数组,使得当 i 为偶数时,arr[i] >= arr[j],当 i 为奇数时,arr[i] <= arr[j],其中 j < i,使用 C++ 语言实现
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏