SortedList C ++ удаляет и восстанавливает элементы из массива

Как восстановить элементы массива, который я уже удалил? это

template<class genType, int MAX_ITEMS >
void SortedList<genType, MAX_ITEMS>::DeleteItem(genType item) {
bool found = false;
int location = 0;
for (; location<length && !found; location++)
if (item == items[location])
found = true;
if (found) {
for (int index = location; index < length; index++)
items[index - 1] = items[index];
length--;
}
}

отсортированный

0

Решение

Чтобы восстановить элементы в массиве, вам просто нужно хранить все удаленные элементы в отдельной структуре данных, перед удалением.

Для этого добавьте в свой код следующее:

if (found) {
deletedArray[dIter] = items[location];
dIter++;

for (int index = location; index < length; index++)
items[index - 1] = items[index];
length--;
}

Теперь, если вы хотите восстановить эти удаленные элементы в массив позднее, вы можете сделать что-то вроде этого:

void restoreDeleted() {
for (int i = 0; i < dIter; i++)
insert(deletedArray[i]);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]