Esempio n. 1
0
void FibHeap2::Node::AssertParentLinks() const
{
	if(mChildren.Empty())
		return;
	
	Node *cur = mChildren.mFirst;
	assert(cur->mParentList == &mChildren);
	cur->AssertParentLinks();
	cur = cur->mNextSibling;
	
	while(cur != mChildren.mFirst)
	{
		assert(cur->mParentList == nullptr);
		cur = cur->mNextSibling;
	}
}
Esempio n. 2
0
void FibHeap::Node::AssertParentLinks() const
{
	if(!mFirstChild)
		return;
	
	Node *cur = mFirstChild;
	do
	{
		if(cur == mFirstChild)
		{
			assert(cur->mParent == this);
		}
		else
		{
			assert(cur->mParent == 0);
		}
		
		cur->AssertParentLinks();
		
		cur = cur->mNextSibling;
	}
	while(cur != mFirstChild);
}