30#ifndef PAL_PRIORITYQUEUE_H
31#define PAL_PRIORITYQUEUE_H
39#define LEFT(x) (2*x+1)
40#define RIGHT(x) (2*x+2)
41#define PARENT(x) ((x-1)/2)
75 bool isIn(
int key )
const;
80 void insert(
int key,
double p );
91 int getId(
int key )
const;
97 std::unique_ptr<int[]> heap;
98 std::unique_ptr<double[]> p;
99 std::unique_ptr<int[]> pos;
101 bool ( *greater )(
double l,
double r );
Custom priority queue for use in pal labeling engine.
PriorityQueue(const PriorityQueue &)=delete
void decreaseKey(int key)
void setPriority(int key, double new_p)
void insert(int key, double p)
PriorityQueue & operator=(const PriorityQueue &)=delete