Partição pela k-ésima Menor Chave (BST)

From Wiki**3

A função coloca a k-ésima menor chave da BST na raiz. O índice da menor chave é 0 (zero). rotL e rotR correspondem às operações de rotação à esquerda e à direita sobre árvores binárias.

 link partR(link h, int k) {
   int t = h->l->N; 
   if (t > k) {
     h->l = partR(h->l, k);
     h    = rotR(h);
   }
   if (t < k) {
     h->r = partR(h->r, k-t-1);
     h    = rotL(h);
   }
   return h;
 }