devxlogo

Inserting Elements into Arrays

Inserting Elements into Arrays

This tip demonstrates how to add an element to a particular position in an array and how to shift all elements in and above that position up one position.

Using subscripts:

-------------------void insert(int a[], int& n, int maxsize, int index, int key) {   // function:   //    Inserts key at a[index], shifting other values up as necessary.   //    Updates number of elements in a.   // parameters:   //    a       inout  array of values.   //    n       inout  number of values in a, a[0]..a[n-1]   //    maxsize in     maximum number of elements that can fit in a   //    index   in     position to insert at   //    key     in     value to insert.   // returns: nothing   if (index < 0 || index > maxsize-1) {      ; // ERROR - return special value, halt, throw exception, or expandarray.   }   // Move all elements up one position.  i is destination.   for (int i=n; i>index; i--) {       a[i] = a[i-1];   }   a[index] = key;  // put value in vacated position   n++;             // update count of items in a   return;}

Using pointers:

----------------void insert(int* a, int& n, int maxsize, int index, int key) {   if (index < 0 || index > maxsize-1) {      ;// ERROR - return special value, halt, throw exception, or expandarray.   }   int* dest = a+index;   int* tail = a+n;   while (tail > dest) {       *tail = *(tail-1);       tail--;   }   *dest = key;  // put value in vacated position   n++;          // update count of items in a   return;}
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist