簡體   English   中英

C中的優先級隊列實現

[英]Priority queue implementation in C

對於C,是否有任何可靠且簡單的優先級隊列(鏈接列表首選,不必要)實現?

更一般地說,你使用什么C標准庫?

PQLib (當前接受的答案) 不完整 ,功能與此帖子的文檔不符。 例如,pq_dequeue文檔說它返回一個條目。 實現返回NULL。 代碼中有許多“待辦事項”注釋,例如“從其堆中刪除包含最高優先級條目的節點”。 缺少必要的邏輯。

對於任何尋找優先級隊列的人:我建議找一些具有良好通過單元測試的代碼。 我不建議使用PQLib,除非它已更新並包含測試。

對於PQLib的所有者或任何推薦它的人:我認為這段代碼已經完成並花了相當多的時間進行調試,直到我意識到它不是,這令人沮喪。 請不要推薦您未嘗試或知道正在進行的工作的代碼。

Robert SedgewickC算法,第1-4部分(基礎算法,數據結構,排序,搜索)中包含的源代碼包含基於堆的實現和基於列表的實現。 請參閱第9章 - 優先級隊列和堆棧。

我有一個用C語言編寫的優先級隊列,托管在谷歌代碼上。 MIT許可證

https://code.google.com/p/pqueue-heap-c/source/browse/trunk/pqueue.cpp

代碼已經在一些項目中使用,所以它很可靠,但是我在98年寫了它,所以我不記得如何使用它。 不要被cpp擴展程序誤導。 這是直的C.

查看PQLib

我使用標准的C標准庫。 ;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM