Home > Backend Development > C++ > C++ program: add an element to an array

C++ program: add an element to an array

王林
Release: 2023-08-25 22:29:21
forward
4904 people have browsed it

C++ program: add an element to an array

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.

Understand concepts through examples

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]
Copy after login

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.

algorithm

  • Take array A as input, the number of elements n as input, and the element e

  • that will be inserted into A
  • If n is

    • A[ n ] = e

  • End if

  • Increase n to n := n 1

  • Return array A and new size n

Example

#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 );
}
Copy after login

Output

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,
Copy after login
Copy after login

Append elements using vectors

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.

Example

#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 );
}
Copy after login

Output

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,
Copy after login
Copy after login

in conclusion

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!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template