An array is a collection of items stored at contiguous memory locations. In this article, we will see how to insert an element in an array in C++. Given an array arr of size n, this article tells how to insert an element x in this array arr at a specific position pos.
- First get the element to be inserted, say x
- Then get the position at which this element is to be inserted, say pos
- Then shift the array elements from this position to one position forward, and do this for all the other elements next to pos.
- Insert the element x now at the position pos, as this is now empty.
Below is the implementation of the above approach:
CPP
// C++ Program to Insert an element // at a specific position in an Array #include <iostream> using namespace std;
// Function to insert x in arr at position pos int * insertX( int n, int arr[],
int x, int pos)
{ int i;
// increase the size by 1
n++;
// shift elements forward
for (i = n; i >= pos; i--)
arr[i] = arr[i - 1];
// insert x at pos
arr[pos - 1] = x;
return arr;
} // Driver Code int main()
{ int arr[100] = { 0 };
int i, x, pos, n = 10;
// initial array of size 10
for (i = 0; i < 10; i++)
arr[i] = i + 1;
// print the original array
for (i = 0; i < n; i++)
cout << arr[i] << " " ;
cout << endl;
// element to be inserted
x = 50;
// position at which element is to be inserted
pos = 5;
// Insert x at pos
insertX(n, arr, x, pos);
// print the updated array
for (i = 0; i < n + 1; i++)
cout << arr[i] << " " ;
cout << endl;
return 0;
} |
Output:
1 2 3 4 5 6 7 8 9 10 1 2 3 4 50 5 6 7 8 9 10
Time Complexity: O(n)
Auxiliary Space: O(1)