数组数据结构用于在连续的内存中存储同质数据 位置以顺序方式访问它们。数组是线性数据结构,因此 数组的基本操作可以在线性时间内执行。在本文中,我们将了解如何 在 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) 空间量 元素添加到新数组。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。