Чтобы удалить пользовательский индекс из массива в C++, вы можете использовать различные методы. Вот несколько подходов:
- Сдвиг элементов: выполните итерацию от нужного индекса до конца массива и сдвиньте каждый элемент на одну позицию влево. Это эффективно перезаписывает элемент по желаемому индексу. Наконец, уменьшите размер массива на единицу.
void deleteAtIndex(int arr[], int& size, int index) {
for (int i = index; i < size - 1; i++) {
arr[i] = arr[i + 1];
}
size--;
}
- Поменять местами и извлечь: поменять местами элемент по нужному индексу с последним элементом массива. Затем уменьшите размер массива на единицу.
void deleteAtIndex(int arr[], int& size, int index) {
std::swap(arr[index], arr[size - 1]);
size--;
}
- Векторный контейнер: если вы используете контейнер
std::vector
вместо необработанного массива, вы можете использовать функциюerase
для удаления элемента по определенному индексу..
std::vector<int> vec = { /* your array elements */ };
vec.erase(vec.begin() + index);
Это всего лишь несколько способов удаления пользовательского индекса из массива в C++. Выбор метода зависит от конкретных требований и ограничений вашей программы.