333
 правки
Изменения
→extractMin
<code>
  Node extractMin(H){    //поиск корня х с минимальным значением ключа в списке корней Н, и удаление х из корней Н      min = <tex>\infty</tex>;    x = null;    curx = head[H];    while curx <tex>\ne</tex> null {      if curx.key < min {        min = curx.key;        x = curx;        }      curx = curx.next;    }    x.prev.next = x.next;    x.next.prev = x.prev;        //добавление детей элемента x в кучу.    H' = makeBinomialHeap();    Обращение порядка связанного списка дочерних узлов х,    curx = x.child;    установка поля р каждого дочернего узла Н равным NILwhile curx <tex>\ne</tex> null {      p[curx] = null;    присвоение указателю       head[H'] адреса заголовка = curx;    получающегося списка        H = merge(H, H');          curx = curx.sibling;    }    return x;  } 
</code>
