LINUX.ORG.RU

История изменений

Исправление DRVTiny, (текущая версия) :

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

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

Но тут я придумал простой обходной маневр: в этом случае нужно просто сделать полный сброс всей структуры на исходное состояние.

Исходная версия DRVTiny, :

Хм... хорошее решение тоже, но тогда получается, что у головы списка всё-таки должна быть ссылка на следующий элемент.

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

Но тут я придумал простой обходной маневр: в этом случае нужно просто сделать полный сброс всей структуры на исходное состояние.