Управление массивом. Добавление элемента (push-back)

что бы добавить элемент в конец массива нужно: 1) создать копию массива с увеличением размера на 1. size+1 2) присвоить последнему элементу значение которое хотим. 3) size++

int*& arr - передаем наш динамический массив с добавлением ссылки & , что бы указатель менялся за пределами функции

int &size - передаем размер массива. & - ссылка что бы изменялось значение за пределами функции

const int value - значение которое добавляем в массив

void push_back(int*& arr, int& size, const int value)
{

    int *arr2 = new int[size + 1]; // создаем новый массив с большим размером
    
    for (int i = 0; i < size; i++)
    {
        arr2[i] = arr[i];  // копируем элементы первого массива в новый
    }

    
    arr2[size] = value; // присваиваем значение в последний элемент

    delete arr; // удаляем прошлый массив
    arr = arr2; // меняем указатель
    size++;
}
push_back(arr,size,777);

Last updated