priority queue clear method

后端 未结 6 1866
我在风中等你
我在风中等你 2020-12-29 18:35

How do I delete all elements from a priority queue? That means how do I destroy a priority queue? advanced thanks for your answer. Is there any clear- or erase-like method

6条回答
  •  既然无缘
    2020-12-29 19:05

    Here's a clean and simple method to clear any priority_queue (and queue, and most other containers as well):

    template 
    void clearQueue(Q & q) {
        q = Q();
    }
    

    Since it's a template, you don't have to remember all the template parameters.

    Example:

    std::priority_queue simpleQueue;
    std::priority_queue, MyHashFunction> customQueue;
    
    // ... later ...
    
    clearQueue(customQueue);
    clearQueue(simpleQueue);
    

提交回复
热议问题