我会实现一个简单的链表。这是我到目前为止的(工作)代码:
pub struct LinkedList<T> {
start: Option<Box<Link<T>>>,
}
impl<T> LinkedList<T> {
pub fn new() -> LinkedList<T> {
return LinkedList { start: None };
}
}
struct Link<T> {
value: Box<T>,
next: Option<Box<Link<T>>>,
}
impl<T> Link<T> {
fn new_end(value: T) -> Link<T> {
return Link::new(value, None);
}
fn new(value: T, next: Option<Box<Link<T>>>) -> Link<T> {
return Link {
value: Box::new(value),
next,
};
}
}
Run Code Online (Sandbox Code Playgroud)
列表中的下一个是附加到列表的方法;这就是我想出的:
pub fn append(&mut self, element: T) {
// Create the link to append
let new_link = …Run Code Online (Sandbox Code Playgroud)