an indexed min-orientated priority queue which supports sink and swim in O(lgn) time.