18 #ifndef COPASI_CPriorityQueue
19 #define COPASI_CPriorityQueue
163 return mHeap[pos].mKey;
181 friend std::ostream &
operator<<(std::ostream &os,
189 void swapNodes(
const size_t index1,
const size_t index2);
195 void heapify(
const size_t pos);
209 size_t parent(
const size_t pos)
const {
return (pos + 1) / 2 - 1;}
216 size_t leftChild(
const size_t pos)
const {
return 2*pos + 1;}
223 size_t rightChild(
const size_t pos)
const {
return 2*pos + 2;}
237 #endif // COPASI_CPriorityQueue
PQNode(size_t idx, C_FLOAT64 key)
friend std::ostream & operator<<(std::ostream &os, const PQNode &d)
std::vector< size_t > mIndexPointer
C_FLOAT64 operator[](const size_t pos) const
C_FLOAT64 getKey(const size_t index) const
std::vector< PQNode > mHeap
size_t leftChild(const size_t pos) const
size_t insertStochReaction(const size_t index, const C_FLOAT64 key)
void heapify(const size_t pos)
friend std::ostream & operator<<(std::ostream &os, const CIndexedPriorityQueue &d)
void updateAux(const size_t position)
size_t removeStochReaction(const size_t index)
void updateNode(const size_t index, const C_FLOAT64 key)
void swapNodes(const size_t index1, const size_t index2)
size_t rightChild(const size_t pos) const
size_t parent(const size_t pos) const
size_t pushPair(const size_t index, const C_FLOAT64 key)
void initializeIndexPointer(const size_t numberOfReactions)