private void cut(final AStarNode x, final AStarNode y) {
		x.left.right = x.right;
		x.right.left = x.left;
		y.degree--;
		if (y.child == x) {
			y.child = x.right;
		}
		if (y.degree == 0) {
			y.child = null;
		}
		x.left = this.min;
		x.right = this.min.right;
		this.min.right = x;
		x.right.left = x;
		x.parent = null;
		x.mark = false;
	}