RosettaCodeData/Task/Doubly-linked-list-Element-definition/Rust/doubly-linked-list-element-definition-2.rust
2023-07-01 13:44:08 -04:00

12 lines
328 B
Text

pub struct LinkedList<T> {
head: Option<Shared<Node<T>>>,
tail: Option<Shared<Node<T>>>,
len: usize,
marker: PhantomData<Box<Node<T>>>, // Indicates that we logically own a boxed (owned pointer) Node<T>>
}
struct Node<T> {
next: Option<Shared<Node<T>>>,
prev: Option<Shared<Node<T>>>,
element: T,
}