So how do I find and remove an element from DList?
Steven Schveighoffer
schveiguy at gmail.com
Fri Jul 10 19:23:57 UTC 2020
On 7/10/20 3:08 PM, Ogi wrote:
> auto list = DList!int([1, 2, 3, 4]);
> list.remove(list[].find(2).take(1));
>
>> Error: function std.container.dlist.DList!int.DList.remove(Range r) is
>> not callable using argument types (Take!(Range))
>
> It works if I replace `remove` with `linearRemove`, but that defeats the
> whole purpose of using a doubly linked list.
It's not linear over the size of the list, it's linear over the size of
the range.
If you are always removing 1 element, it's effectively O(1).
-Steve
More information about the Digitalmars-d-learn
mailing list