天天看點

基于C語言的通用資料結構和算法庫

       本人最近在學習資料結構的課程,在過程中發現用C語言來實作各種資料結構類型的時候很難做到真正意義上的通用的資料結構,于是在網上搜羅了一些所謂的C語言通用資料結構庫,在此也将這些資料結構庫一一羅列,友善大家查找和使用。C語言沒有像C++那樣的STL庫,語言本身并不是一種真正意義上的進階語言,實作項目中真正用到的算法中的C語言的資料結構也很少,要麼是按照自己的需求來實作,要麼一般都用C++來完成大型的項目工程,C++有現成的庫來開發,可以縮短工程的時間和提高效率。但是C語言仍然保持在程式設計語言占有率的前列,這其實依賴于在底層系統級開發應用中扮演着不可替代的作用。最新的開發者程式設計語言的情況可以檢視這篇文章:

http://www.infoq.com/cn/articles/stack-overflow-report

比較大型的C語言通用資料結構的庫有(資料結構隻是其中的一小部分):

1.     Gnulib - The GNUPortability Library相關的連結:

http://www.gnu.org/software/gnulib/

2.ApachePortable Runtime (APR) project相關的連結:

  http://apr.apache.org/

3.    Glib相關連結: https://developer.gnome.org/glib/unstable/

下面是一些相對比較小的C語言資料結構和算法的庫

4.    SGLIB - A Simple Generic Library for C 相關連結:http://sglib.sourceforge.net/

5.    libcstl-2.3.0相關連結:http://libcstl.org/

6.    GDSL - The Generic Data Structures Library 相關連結:

http://home.gna.org/gdsl/

7.  BSD Library 相關連結:

 http://www.manpagez.com/man/3/queue/ 這類資料結構通常封裝在系統級的核心目錄下,比如:sys/queue.h等。

繼續閱讀