Scippy

SCIP

Solving Constraint Integer Programs

Priority Queue

Detailed Description

Functions

SCIP_RETCODE SCIPpqueueCreate (SCIP_PQUEUE **pqueue, int initsize, SCIP_Real sizefac, SCIP_DECL_SORTPTRCOMP((*ptrcomp)))
 
void SCIPpqueueFree (SCIP_PQUEUE **pqueue)
 
void SCIPpqueueClear (SCIP_PQUEUE *pqueue)
 
SCIP_RETCODE SCIPpqueueInsert (SCIP_PQUEUE *pqueue, void *elem)
 
void * SCIPpqueueRemove (SCIP_PQUEUE *pqueue)
 
void * SCIPpqueueFirst (SCIP_PQUEUE *pqueue)
 
int SCIPpqueueNElems (SCIP_PQUEUE *pqueue)
 
void ** SCIPpqueueElems (SCIP_PQUEUE *pqueue)
 

Function Documentation

SCIP_RETCODE SCIPpqueueCreate ( SCIP_PQUEUE **  pqueue,
int  initsize,
SCIP_Real  sizefac,
SCIP_DECL_SORTPTRCOMP((*ptrcomp))   
)

creates priority queue

Parameters
pqueuepointer to a priority queue
initsizeinitial number of available element slots
sizefacmemory growing factor applied, if more element slots are needed
void SCIPpqueueFree ( SCIP_PQUEUE **  pqueue)

frees priority queue, but not the data elements themselves

Parameters
pqueuepointer to a priority queue
void SCIPpqueueClear ( SCIP_PQUEUE pqueue)

clears the priority queue, but doesn't free the data elements themselves

Parameters
pqueuepriority queue
SCIP_RETCODE SCIPpqueueInsert ( SCIP_PQUEUE pqueue,
void *  elem 
)

inserts element into priority queue

Parameters
pqueuepriority queue
elemelement to be inserted
void* SCIPpqueueRemove ( SCIP_PQUEUE pqueue)

removes and returns best element from the priority queue

Parameters
pqueuepriority queue
void* SCIPpqueueFirst ( SCIP_PQUEUE pqueue)

returns the best element of the queue without removing it

Parameters
pqueuepriority queue
int SCIPpqueueNElems ( SCIP_PQUEUE pqueue)

returns the number of elements in the queue

Parameters
pqueuepriority queue
void** SCIPpqueueElems ( SCIP_PQUEUE pqueue)

returns the elements of the queue; changing the returned array may destroy the queue's ordering!

Parameters
pqueuepriority queue