Skip to content

Instantly share code, notes, and snippets.

@m0ar
Created February 18, 2015 12:03
Show Gist options
  • Save m0ar/a67d07353532dc0d77e4 to your computer and use it in GitHub Desktop.
Save m0ar/a67d07353532dc0d77e4 to your computer and use it in GitHub Desktop.
private void splay(Entry e){
if(e.parent == null)
root = e;
if(e == null || e == root)
return;
if(e.parent == root){
if(e == e.parent.right) {
zig(e);
root = e.parent;
return;
}else {
zag(e);
root = e.parent;
return;
}
}
if(e == e.parent.right && e.parent == e.parent.parent.right) {
zigzig(e);
splay(e.parent.parent);
}else if(e == e.parent.left && e.parent == e.parent.parent.left) {
zagzag(e);
splay(e.parent.parent);
}else if(e == e.parent.left && e.parent == e.parent.parent.right){
zagzig(e);
splay(e.parent.parent);
}else {
zigzag(e);
splay(e.parent.parent);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment