typedef int Item; struct node { Item item; node* l; node* r; node(Item x) { item = x; l = 0; r = 0; } }; typedef node* link; void rotR (link &h) { link x = h->l; h->l = x->r; x->r = h; h = x; } void rotL (link &h) { link x = h->r; h->r = x->l; x->l = h; h = x; }