C++程式:將一個數組的所有元素複製到另一個數組
陣列資料結構用於儲存同類型的資料到連續的記憶體位置,以便以順序方式訪問它們。陣列是線性資料結構,因此可以線上性時間內執行陣列的基本操作。在本文中,我們將瞭解如何在 C++ 中將一個數組的元素複製到另一個新陣列。
由於陣列元素是同類型的,因此新陣列將具有相同的型別。在建立另一個相同大小的陣列後,我們只需將第一個陣列中的元素逐個複製到第二個陣列中。讓我們看看演算法和 C++ 實現,以便更好地理解。
演算法
- 讀取陣列 A 及其大小 n 作為輸入
- 建立一個大小與 A 相同(為 n)的空陣列 B
- 對於 i 從 0 到 n-1,執行以下操作:
- B[ i ] := A[ 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) 的空間來將元素複製到新陣列。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP