<code>
void '''function''' decreaseKey('''binomialHeap''' H, '''node''' x, '''int''' k) '''if''' k > key[x] <font color = "green">// проверка на то, что текущий ключ x не меньше передаваемого ключа k if k </font> key[x] '''return''' key[x] = k y = x z = p[y] '''while''' z != null '''and''' key[y] < key[z] <font color = "green">//поднимаем текущий элемент x с новым ключом k, пока //это значение меньше значения в родительской вершине while z != null and key[y] < key[z]/font> swap(key[y], key[z]) y = z z = p[y]
</code>