private void link()

in src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java [559:587]


    private void link( FibonacciHeapNode<E> y, FibonacciHeapNode<E> x )
    {
        // 1 remove y from the root list of H
        y.getLeft().setRight( y.getRight() );
        y.getRight().setLeft( y.getLeft() );

        y.setParent( x );

        if ( x.getChild() == null )
        {
            // 2 make y a child of x, incrementing degree[x]
            x.setChild( y );
            y.setRight( y );
            y.setLeft( y );
        }
        else
        {
            y.setLeft( x.getChild() );
            y.setRight( x.getChild().getRight() );
            x.getChild().setRight( y );
            y.getRight().setLeft( y );
        }

        x.incraeseDegree();

        // 3 mark[y] <- FALSE
        y.setMarked( false );
        markedNodes++;
    }