An array is a linear sequential data structure used to hold homogeneous data in contiguous memory locations. Like other data structures, arrays must have the ability to insert, delete, traverse, and update elements in some efficient way. In C, our arrays are static. There are also some dynamic array structures provided in C. For a static array, Z elements may be stored in the array. So far we have n elements. In this article, we will learn how to insert elements at the end of an array (also known as appending elements) in C.
The ‘this’ keyword is used as follows
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]
In the above example, assume we have an array A, which can hold up to 50 elements. So, the value of Z is 50. Now consider first that there are 9 elements in it. Therefore, the size of the array n is 9. To insert another element at the end of the array, in our case 23. The element will be placed at the end and the number of elements in A will be increased by 1. So n becomes 10. Since we are inserting at the end, the process is simple. We can simply add the new element after all elements without changing the position of any existing element in the array. Let us now see the algorithm along with the C implementation code for clear understanding.
Take array A as input, the number of elements n as input, and the element e
If n is A[ n ] = e
End if
Increase n to n := n 1
Return array A and new size 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,
Vectors are dynamic data structures that come with C STL. We can also get similar functionality like arrays within vectors. Inside the vector we use the push_back() function to get the functionality inserted at the end. push_back The function takes a new element as a parameter and inserts the element at the end of the given vector. The algorithm is simple. We don't need to do anything special, just call the function of the given vector object by passing the new element we want to insert. Let's look directly at the C implementation.
#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,
Array is one of the simplest data structures to continuously store homogeneous data. Arrays are data structures. Like other data structures, we can also insert, delete, update and traverse array elements easily. In this article, we have seen two methods of inserting elements at the end, in other words, appending elements to an array. In the first approach, we use static arrays in C. Since our target is the end position, there is no need to move any elements in the array, just add a new element at the last index and increment the total item count parameter for further use. In the second case we use vectors. Vectors are like ordinary arrays in C, but they are dynamic in nature. It automatically updates its total size when needed. The C STL supports vectors, which have a special function called push_back() for inserting elements at the back. However, we cannot add elements at the beginning with this simple and straightforward method.
The above is the detailed content of C++ program: add an element to an array. For more information, please follow other related articles on the PHP Chinese website!