Проблема, которую необходимо решить:
У меня огромный массив символов, и я получил их индекс от 0 до 80000, допустим. Когда в реальном файле кто-то добавляет символ в 10-й позиции, предположим, тогда мне нужно обновить индекс всех символов за пределами 10 на 1
. Пример. Текст: «Это мой первый текст, а позже я собираюсь вставить больше в любом месте »; Предположим, что индекс начинается с 0 до 65 (где T - это индекс 0, а последний символ E - это индекс 65)
Теперь я добавляю символ «$» после «This is», так что теперь он стал Text is now : «Это $ мой первый текст, позже я собираюсь вставить куда угодно»; Таким образом, индекс $ теперь равен 9. Таким образом, весь индекс символа строки «мой первый текст, а позже я собираюсь вставить еще где-нибудь» должен быть увеличен на 1
Я легко могу сделать это с помощью a for l oop, но для 80000 символов это очень дорого для операции добавления / удаления, ища какое-то элегантное решение.
Например: алгоритм таблицы элементов или алгоритм веревки.
или реализация шаблона посетителя дизайн, в котором каждый символ является узлом с индексом в качестве атрибута и получает уведомление, когда какой-либо персонаж добавляется / удаляется, чтобы они могли автоматически настраивать свой индекс с помощью уведомления обратного вызова с информацией о том, на сколько изменился символ?
это как 1 переключатель и несколько переключателей света включаются по разному значению мощности (от тусклого до более яркого)