Re:In Defense of Linked Lists
by klysm on Friday November 04, 2022 @05:36PM
(#33474162)
The other benefit of this kind of data structure is the ability for one object to participate in multiple collections. Otherwise you would have to do some kind of hash map structure to point to them.
[ Parent
| on HN ]
Isn't that the opposite, though? If you store the next/prev pointers in the data structure itself, you can't use the same object in multiple collections.
If you have a standalone linked list data structure, then you can, as long as you have a good means of tracking the lifetime of the data itself.
Typically you keep a list entry in the struct:
https://man7.org/linux/man-pages/man3/stailq.3.html#EXAMPLES
The same list entry can be moved between several lists using the same type.
If the struct need to be in multiple lists in the same time you can keep multiple list entries in the same struct: https://github.com/freebsd/freebsd-src/blob/69413598d2660054...