PQLib (текущий принятый ответ) является неполным и функциональность не соответствует документации на момент публикации. Например, документация pq_dequeue сообщает, что возвращает запись. Реализация возвращает NULL. В коде есть много комментариев "TO DO", таких как "удалить узел, содержащий запись с наивысшим приоритетом, из своей кучи". Основная логика отсутствует.
Всем, кто ищет приоритетную очередь: я рекомендую найти код с хорошими проходными модульными тестами. Я не рекомендую PQLib, если он не обновлен и не содержит тестов.
Владельцу PQLib или любому, кто порекомендовал его: я предполагал, что этот код завершен, и потратил немало времени на отладку, пока не понял, что это не так, что расстраивает. Пожалуйста, не рекомендуйте код, который вы еще не пробовали или знаете, что он находится в процессе разработки.