how does a Priority Queue works code example Example: priority_queue std::priority_queue, std::greater>