Search code examples
c++data-structuresstlheappriority-queue

Deleting element in priority queue other than top element in C++


Is there any inbuilt function for deleting a given element (other than top element) in priority queue class of C++ STL? If not how to delete it in O(log n)?Should i implement the heap data structure from scratch for this 'delete' functionality?


Solution

  • Is there any inbuilt function for deleting a given element (other than top element) in priority queue class of C++ STL?

    No.

    If not how to delete it in O(log n)?

    By using another container. std::set is the simplest compromise. A custom heap implementation may be more optimal.