spl heap and priorityqueue