LINUX.ORG.RU

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

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

можно потратив память отдельные списки с указателями на нужные элементы поддерживать для каждого условия

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

Если условие тяжёлое — можно его мемоизировать.

В общем, без уточнения условий задачи это всё гадание на кофейной гуще.

Исправление Nervous, :

можно потратив память отдельные списки с указателями на нужные элементы поддерживать для каждого условия

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

Если условие тяжёлое — можно его мемоизировать.

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

можно потратив память отдельные списки с указателями на нужные элементы поддерживать для каждого условия

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