linked-list: add LinkedList::rotate_last
This commit is contained in:
parent
4bfa9fb7fc
commit
9941263a82
1 changed files with 13 additions and 0 deletions
|
|
@ -97,6 +97,19 @@ impl<T> LinkedList<T> {
|
||||||
self.root.append_existing(t)
|
self.root.append_existing(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[expect(dead_code)]
|
||||||
|
pub fn rotate_last(&self, t: &NodeRef<T>) {
|
||||||
|
unsafe {
|
||||||
|
let root = self.root.data.as_ref();
|
||||||
|
root.prev.get().as_ref().next.set(root.next.get());
|
||||||
|
root.next.get().as_ref().prev.set(root.prev.get());
|
||||||
|
root.prev.set(t.data);
|
||||||
|
root.next.set(t.data.as_ref().next.get());
|
||||||
|
t.data.as_ref().next.get().as_ref().prev.set(self.root.data);
|
||||||
|
t.data.as_ref().next.set(self.root.data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn iter(&self) -> LinkedListIter<T> {
|
pub fn iter(&self) -> LinkedListIter<T> {
|
||||||
unsafe {
|
unsafe {
|
||||||
let root = self.root.data.as_ref();
|
let root = self.root.data.as_ref();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue