История изменений
Исправление a--, (текущая версия) :
Какие-то ограничения на инвалидацию итераторов я не включил в требования, специально чтобы оставить поле для разных решений.
Но по-моему там вполне можно все утрясти, в том смысле что удаление элемента из коллекции не является удалением элемента вообще. К примеру, при попытке найти prev/next от выпихнутого из коллекции элемента кидается исключение (либо просто проверяется такая возможность).
Т.е. все максимально близко к обычному списку, где выпихавние — это обнуление полей prev/next.
Исходная версия a--, :
Какие-то ограничения на инвалидацию итераторов я не включил в требования, специально чтобы оставить поле для разных решений.
Но по-моему там вполне можно все утрясти, в том смысле что удаление элемента из коллекции не является удалением элемента вообще. К примеру, при попытке найти prev/next от выпихнутого из коллекции элемента кидается исключение (либо просто проверяется такая возможность).