EG
Size: a a a
EG
EG
П
EG
EG
П
П
Э
O(1) удалением во время итерации и O(1) вставкой в конец?T не оптимизируется под Option<T>, а ты всё равно будешь руками писать дрейнфильтр, то можно сделать bitvec + Vec<T>, чтобы места меньше кушало.EG
BV
П
в🧇
T не оптимизируется под Option<T>, а ты всё равно будешь руками писать дрейнфильтр, то можно сделать bitvec + Vec<T>, чтобы места меньше кушало.Vec<MaybeUninit<T>> скорее ужЭ
Vec<MaybeUninit<T>> скорее ужEG
Vec<MaybeUninit<T>> скорее ужЭ
Some между двумя None, то он сдвигается. Тогда и итерация с меньшим количеством if-else, но реализовывать такое сложнее.в🧇
DF
Э
Some между двумя None, то он сдвигается. Тогда и итерация с меньшим количеством if-else, но реализовывать такое сложнее.Some не очень. Надо некий N разреженности, чтобы если N Some'ов (или меньше), а вокруг них None, то сдвигаешь эти Some в соседнюю рейнджу.Э