История изменений
Исправление DRVTiny, (текущая версия) :
Хм... хорошее решение тоже, но тогда получается, что у головы списка всё-таки должна быть ссылка на следующий элемент (я отказался от собственно идеи кольца и теперь использую явные tail и head).
Со стеком тоже проблема есть одна: чтобы удалить последний оставшийся в списке элемент - нужно как-то знать его индекс, а если не хранить индекс вместе с элементом, то получается, что нужно брать его либо из ссылки NEXT у предыдущего элемента (а его нет), либо из ссылки PREV у последующего (и его тоже нет)...
Но тут я придумал простой обходной маневр: в этом случае нужно просто сделать полный сброс всей структуры на исходное состояние.
Исходная версия DRVTiny, :
Хм... хорошее решение тоже, но тогда получается, что у головы списка всё-таки должна быть ссылка на следующий элемент.
Со стеком тоже проблема есть одна: чтобы удалить последний оставшийся в списке элемент - нужно как-то знать его индекс, а если не хранить индекс вместе с элементом, то получается, что нужно брать его либо из ссылки NEXT у предыдущего элемента (а его нет), либо из ссылки PREV у последующего (и его тоже нет)...
Но тут я придумал простой обходной маневр: в этом случае нужно просто сделать полный сброс всей структуры на исходное состояние.