приоритетная очередь очищает метод

Как я удаляю все элементы из приоритетной очереди? Это означает, как я уничтожаю приоритетную очередь? усовершенствованное спасибо за Ваш ответ. Там кто-либо ясен - или подобный стиранию метод?

36
задан russell 17 May 2010 в 19:43
поделиться

2 ответа

У интерфейса priority_queue нет метода clear() (по неизвестной мне причине). Простой способ очистить ее - просто назначить новую, пустую очередь:

priority_queue <int> q;
// use it
q = priority_queue <int>(); // reset it
52
ответ дан 27 November 2019 в 05:54
поделиться

Как показывает любая ссылка на C ++ STL, класс STL Priority Queue не имеет таких функций, как «очистить» или «стереть». http://www.cplusplus.com/reference/stl/priority_queue/

Это контейнерный класс, и поэтому очень простой деструктор генерируется компилятором (в большинстве случаев). Если ваша приоритетная очередь использует только локально распределенную информацию в своих узлах, тогда это должно работать нормально для очистки памяти.

Однако, если у вас есть динамически выделяемая память для информации в вашей очереди приоритетов, вам нужно будет вручную создать функцию, подобную «очистке».

Надеюсь, это поможет!

0
ответ дан 27 November 2019 в 05:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: