Function reverse [src]
Reverse the list starting from this node in-place.
This operation is O(N). Instead of calling this function, consider
using a different data structure.
Prototype
pub fn reverse(indirect: *?*Node) void
Parameters
indirect: *?*Node
Source
pub fn reverse(indirect: *?*Node) void {
if (indirect.* == null) {
return;
}
var current: *Node = indirect.*.?;
while (current.next) |next| {
current.next = next.next;
next.next = indirect.*;
indirect.* = next;
}
}