intrex
Intrusive doubly-linked lists with items stored in an application-provided object pool and addressed by indices.
use ;
let mut nodes: =
.map
.collect;
let mut head = default;
// Add [2, 3, 1, 0] to the list
let mut accessor = head
.accessor_mut;
accessor.push_back;
accessor.push_back;
accessor.insert;
accessor.push_front;
// Inspect the list
let accessor = head.accessor;
assert_eq!;
assert_eq!;
assert_eq!;
// Sort the list
head.accessor_mut
.sort_by_key;
let accessor = head.accessor;
assert_eq!;
This crate also provides a function to sort singly-linked lists.
License
MIT/Apache-2.0