1function splay(x) {
2 while (x 不是根) {
3 p = parent(x);
4 if (p 是根) { rotate(x); } // zig
5 else if (x 与 p 同为左/右孩子) { rotate(p); rotate(x); } // zig-zig
6 else { rotate(x); rotate(x); } // zig-zag
7 }
8}
9function insert(v) {
10 bstInsert(v); // 先按二叉搜索树插入
11 splay(新节点); // 再把新节点转到根
12}