コード例 #1
0
ファイル: RCSTREES.C プロジェクト: daemqn/Atari_ST_Sources
WORD mov_tree(WORD sobj, WORD dobj, WORD dx, WORD dy)
{
	WORD	iobj; 
	LONG	sv_link;

	if (rcs_lock)
	{
		hndl_locked();
		return (0);
	}
	else
	{
		dobj = posn_tree(dobj, dx, dy);
		if (sobj == dobj)
		{
			redo_trees();
			return (dobj);
		}
		else
		{
			sv_link = tree_addr(sobj - 1);

			if (sobj < dobj)
				for (iobj = sobj; iobj < dobj; iobj++ )
					LLSET(tree_ptr(iobj - 1), tree_addr(iobj));
			else
				for (iobj = sobj ; iobj > dobj ; iobj-- )
					LLSET(tree_ptr(iobj - 1), tree_addr(iobj - 2));

			LLSET(tree_ptr(dobj - 1), sv_link); 

			redo_trees();
			return (dobj);
		}
	}
}
コード例 #2
0
ファイル: RCSTREES.C プロジェクト: daemqn/Atari_ST_Sources
VOID del_tree(WORD sobj)
{
	WORD	nobj, iobj; 

	if (rcs_lock)
		hndl_locked();
	else if (sobj != ROOT)
	{
		nobj = LWGET(RSH_NTREE(head));
		LWSET(RSH_NTREE(head), --nobj);

		zap_objindex( tree_addr(sobj - 1), ROOT);
		for (iobj = sobj; iobj <= nobj; iobj++)
			LLSET(tree_ptr(iobj - 1), tree_addr(iobj));
		redo_trees();
	}
}
コード例 #3
0
ファイル: RCSDATA.C プロジェクト: daemqn/Atari_ST_Sources
LONG tree_addr(WORD n)
{
	return LLGET(tree_ptr(n));
}  
コード例 #4
0
unique_ptr<week03::mst> week03::random_graph::build_mst() {
    unique_ptr<week03::mst> tree_ptr(new week03::mst(vertices_, size_));
    return tree_ptr;
}