A technique commonly used in C, for example in the Linux kernel. You embed &quot;links&quot; to other nodes in your structs, and find the struct from the link based on offsetof. Linux kernel uses linked lists and red-black trees this way. Probably other data structures too.<p>Intrusive containers are cache friendly and typically require no dynamic allocations (in addition to allocating the data itself).<p>See the link in the post above for more about linked lists in the linux kernel.