Два способа сделать это:
Опция 1 - Поле положения
Используя поле позиции вместо увеличения на 1, увеличьте на большее число, например 1000. Каждый раз, когда вы добавляете новыйпредмет, посмотрите на позицию на предмете до и после, найдите промежуточную точку между их позициями и используйте ее для нового предмета.например, вставка между позицией 1000 и 2000 будет 1500.
Это позволяет вам минимизировать количество обновлений всего, что происходит после этого элемента.
Назад в дниBASIC (с номерами строк) - это то, как мы избегали нумерации нашего кода всякий раз, когда нам приходилось возвращаться и вставлять код.Не самое симпатичное решение, но оно работает.
Вариант 2 - Связанный список
Сохранение ссылки на следующий элемент.Когда вы вставляете в середину, вам просто нужно обновить записи для предыдущего элемента.Вам также необходимо обновить предыдущий элемент в случае удаления.