/// <summary>
 /// Make y a child of x.
 /// </summary>
 /// <param name="y">A node to become the child of x.</param>
 /// <param name="x">A node to become the parent of y.</param>
 protected void FibHeapLink(FHeapNode <T> y, FHeapNode <T> x)
 {
     y.Remove();
     x.AddChild(y);
     y.Mark = false;
 }