本文整理汇总了C++中CHeap::insertheap方法的典型用法代码示例。如果您正苦于以下问题:C++ CHeap::insertheap方法的具体用法?C++ CHeap::insertheap怎么用?C++ CHeap::insertheap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CHeap
的用法示例。
在下文中一共展示了CHeap::insertheap方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BuildNewOPENList
void ADPlanner::BuildNewOPENList(ADSearchStateSpace_t* pSearchStateSpace)
{
ADState *state;
CKey key;
CHeap* pheap = pSearchStateSpace->heap;
CList* pinconslist = pSearchStateSpace->inconslist;
//move incons into open
while (pinconslist->firstelement != NULL) {
state = (ADState*)pinconslist->firstelement->liststate;
//compute f-value
key = ComputeKey(state);
//insert into OPEN
if (state->heapindex == 0)
pheap->insertheap(state, key);
else
pheap->updateheap(state, key); //should never happen, but sometimes it does - somewhere there is a bug TODO
//remove from INCONS
pinconslist->remove(state, AD_INCONS_LIST_ID);
}
pSearchStateSpace->bRebuildOpenList = false;
}
示例2: BuildNewOPENList
void ADPlanner::BuildNewOPENList(ADSearchStateSpace_t* pSearchStateSpace)
{
ADState *state;
CKey key;
CHeap* pheap = pSearchStateSpace->heap;
CList* pinconslist = pSearchStateSpace->inconslist;
//move incons into open
while(pinconslist->firstelement != NULL)
{
state = (ADState*)pinconslist->firstelement->liststate;
//compute f-value
key = ComputeKey(state);
//insert into OPEN
pheap->insertheap(state, key);
//remove from INCONS
pinconslist->remove(state, AD_INCONS_LIST_ID);
}
}
示例3: BuildNewOPENList
void ARAPlanner::BuildNewOPENList(ARASearchStateSpace_t* pSearchStateSpace)
{
ARAState *state;
CKey key;
CHeap* pheap = pSearchStateSpace->heap;
CList* pinconslist = pSearchStateSpace->inconslist;
//move incons into open
while (pinconslist->firstelement != NULL) {
state = (ARAState*)pinconslist->firstelement->liststate;
//compute f-value
key.key[0] = state->g + (int)(pSearchStateSpace->eps * state->h);
//key.key[1] = state->h;
//insert into OPEN
pheap->insertheap(state, key);
//remove from INCONS
pinconslist->remove(state, ARA_INCONS_LIST_ID);
}
}