陣列是一種線性順序資料結構,用於在連續的記憶體位置中保存同質資料。與其他資料結構一樣,陣列也必須具備以某種有效方式插入、刪除、遍歷和更新元素的功能。在 C 中,我們的陣列是靜態的。 C 中也提供了一些動態數組結構。對於靜態數組,該數組內可能儲存 Z 個元素。到目前為止,我們已經有 n 個元素了。在本文中,我們將了解如何在 C 中在陣列末尾插入元素(也稱為追加元素)。
‘this’關鍵字的使用方式如下
Given array A = [10, 14, 65, 85, 96, 12, 35, 74, 69] After inserting 23 at the end, the array will look like this: [10, 14, 65, 85, 96, 12, 35, 74, 69, 23]
在上面的範例中,假設我們有一個陣列 A,其中最多可以容納 50 個元素。所以,Z 的值為 50。現在先考慮一下,其中有 9 個元素。因此,數組的大小 n 為 9。要在數組末尾插入另一個元素,在我們的範例中為 23。該元素將被放置在末尾,並且 A 中的元素數量將增加 1。因此 n 變為 10。由於我們是在末尾插入,所以過程很簡單。我們可以簡單地在所有元素之後新增元素,而無需更改陣列中任何現有元素的位置。現在讓我們看看演算法以及 C 實作程式碼,以便清楚地理解。
以陣列 A 作為輸入,元素數量 n 作為輸入,以及將插入到 A 中的元素 e
如果n是 A[ n ] = e
結束如果
將 n 增加為 n := n 1
#傳回陣列 A 和新大小 n
#include <iostream> # define Z 50 using namespace std; void displayArr(int arr[], int n){ for( int i = 0; i < n; i++ ){ cout << arr[ i ] << ", "; } cout << endl; } void insertAtEnd( int arr[], int &n, int e ){ if( n < Z ) { arr[ n ] = e; } n = n + 1; } int main() { int arr[ Z ] = {57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14}; int n = 12; cout << "Array before insertion: "; displayArr( arr, n ); cout << "Inserting 58 at the end:" << endl; insertAtEnd( arr, n, 58 ); cout << "Array after insertion: "; displayArr( arr, n ); cout << "Inserting 225 at the end:" << endl; insertAtEnd( arr, n, 225 ); cout << "Array after insertion: "; displayArr( arr, n ); }
Array before insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, Inserting 58 at the end: Array after insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, 58, Inserting 225 at the end: Array after insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, 58, 225,
向量是 C STL 附帶的動態資料結構。我們也可以獲得類似的功能,例如向量中的陣列。在向量內部,我們使用 push_back() 函數來獲得在末尾插入的功能。 push_back 函數將新元素作為參數,並將該元素插入到給定向量的末端。該演算法很簡單。我們不需要做任何特殊的事情,只需透過傳遞我們要插入的新元素來呼叫定向量物件的函數即可。我們直接看C 的實作。
#include <iostream> #include <vector> # define Z 50 using namespace std; void displayArr( vector<int> v ){ for( int i = 0; i < v.size() ; i++ ){ cout << v[ i ] << ", "; } cout << endl; } vector<int> insertAtEnd( vector<int> A, int e ){ A.push_back( e ); return A; } int main() { vector<int> A = {57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14}; cout << "Array before insertion: "; displayArr( A ); cout << "Inserting 58 at the end:" << endl; A = insertAtEnd( A, 58 ); cout << "Array after insertion: "; displayArr( A ); cout << "Inserting 225 at the end:" << endl; A = insertAtEnd( A, 225 ); cout << "Array after insertion: "; displayArr( A ); }
Array before insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, Inserting 58 at the end: Array after insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, 58, Inserting 225 at the end: Array after insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, 58, 225,
陣列是連續保存同質資料的最簡單的資料結構之一。數組是資料結構。與其他資料結構一樣,我們也可以輕鬆地插入、刪除、更新和遍歷數組元素。在本文中,我們看到了兩種在末尾插入元素的方法,換句話說,將元素追加到陣列中。在第一個方法中,我們在 C 中使用靜態陣列。由於我們的目標是結束位置,因此不需要移動數組中的任何元素,只需在最後一個索引處添加一個新元素,並增加總項目計數參數以供進一步使用。在第二種情況下,我們使用向量。向量就像 C 中的普通數組,但它們本質上是動態的。它會在需要時自動更新其總大小。 C STL 支援向量,向量有一個名為 push_back() 的特殊函數,用於在後面插入元素。但是,我們不能用這種簡單直接的方法在開頭就加入元素。
以上是C++程式:在陣列中加入一個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!