Как я удаляю все элементы из приоритетной очереди? Это означает, как я уничтожаю приоритетную очередь? усовершенствованное спасибо за Ваш ответ. Там кто-либо ясен - или подобный стиранию метод?
У интерфейса priority_queue нет метода clear() (по неизвестной мне причине). Простой способ очистить ее - просто назначить новую, пустую очередь:
priority_queue <int> q;
// use it
q = priority_queue <int>(); // reset it
Как показывает любая ссылка на C ++ STL, класс STL Priority Queue не имеет таких функций, как «очистить» или «стереть». http://www.cplusplus.com/reference/stl/priority_queue/
Это контейнерный класс, и поэтому очень простой деструктор генерируется компилятором (в большинстве случаев). Если ваша приоритетная очередь использует только локально распределенную информацию в своих узлах, тогда это должно работать нормально для очистки памяти.
Однако, если у вас есть динамически выделяемая память для информации в вашей очереди приоритетов, вам нужно будет вручную создать функцию, подобную «очистке».
Надеюсь, это поможет!