История изменений
Исправление Virtuos86, (текущая версия) :
Если новый индекс элемента больше его первоначального, то все элементы коллекции, чьи индексы находятся между старым индексом элемента и новым (включая элемент, чье место займет текущий элемент), сдвинутся влево, то есть нужно будет сделать:
ПЕРЕМЕСТИТЬ(старая_позиция, старая_позиция - 1)
для каждого из этих элементов после перемещения текущего.
Наоборот, если элемент сдвигается влево, то сабсет перемещаемых элементов сдвигается вправо.
UPD: Перечитал ОП. Вообще не понял, что надо сделать.
Исходная версия Virtuos86, :
Если новый индекс элемента больше его первоначального, то все элементы коллекции, чьи индексы находятся между старым индексом элемента и новым (включая элемент, чье место займет текущий элемент), сдвинутся влево, то есть нужно будет сделать:
ПЕРЕМЕСТИТЬ(старая_позиция, старая_позиция - 1)
для каждого из этих элементов после перемещения текущего.
Наоборот, если элемент сдвигается влево, то сабсет перемещаемых элементов сдвигается вправо.