/** * Insert a new item into queue. * @param v the index of item. */ public void insert(int v) { pq[++n] = v; qp[v] = n; swim(n); }
/** * The value of item k is lower (higher priority) now. */ public void lower(int k) { swim(qp[k]); }
/** * The priority of item k has changed. */ public void change(int k) { swim(qp[k]); sink(qp[k], n); } }