Cómo insertar un elemento en una posición específica en una array en C++

Una array es una colección de elementos almacenados en ubicaciones de memoria contiguas. En este artículo, veremos cómo insertar un elemento en una array en C++ . Dada una array arr de tamaño n , este artículo explica cómo insertar un elemento x en esta array arr en una posición específica pos . Enfoque: He aquí cómo hacerlo.

  1. Primero obtenga el elemento que se insertará, digamos x
  2. Luego obtenga la posición en la que se insertará este elemento, digamos pos
  3. Luego mueva los elementos de la array desde esta posición a una posición hacia adelante, y haga esto para todos los demás elementos al lado de pos.
  4. Inserte el elemento x ahora en la posición pos, ya que ahora está vacío.

A continuación se muestra la implementación del enfoque anterior: 

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;
}
Producción:

1 2 3 4 5 6 7 8 9 10 
1 2 3 4 50 5 6 7 8 9 10

Complejidad de tiempo: O(n)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Code_r y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *