Saya mencari pustaka C dengan struktur data umum yang dapat digunakan kembali seperti daftar tertaut, tabel hash, dll. Sesuatu seperti sumber yang didistribusikan dengan Menguasai Algoritma dengan C (Paperback) oleh Kyle Loudon .
Saya mencari pustaka C dengan struktur data umum yang dapat digunakan kembali seperti daftar tertaut, tabel hash, dll. Sesuatu seperti sumber yang didistribusikan dengan Menguasai Algoritma dengan C (Paperback) oleh Kyle Loudon .
Jawaban:
BSD queue.h memiliki:
BSD tree.h memiliki:
Lihat halaman manual antrian (3) dan pohon (3) untuk detailnya. Saya sangat menyukainya karena mereka adalah makro C murni tanpa dependensi (bahkan libc). Ditambah dengan lisensi BSD Anda tidak perlu khawatir tentang batasan perusahaan dengan GPL.
gnulib , pustaka portabilitas gnu.
Ini didistribusikan sebagai kode sumber. Daftar ini berasal dari daftar modulnya , yang mencakup BANYAK hal lain. Salah satu yang menarik adalah "c-stack: Stack overflow handling, menyebabkan keluarnya program."
SGLIB adalah pustaka struktur data generik yang sangat baik. Pustaka saat ini menyediakan implementasi umum untuk:
pengurutan array,
daftar
tertaut, daftar
tertaut, daftar tertaut ganda,
pohon merah-hitam,
wadah hash
Ini sangat cepat, lebih cepat dari fasih. Ini terinspirasi oleh Perpustakaan Template Standar. Unduh disini
Solusi lain adalah perangkat lunak Attractive Chaos . C macro library:
kbtree.h : library B-tree yang efisien di C.
khash.h: library tabel hash yang cepat dan ringan di C.
kvec.h: container vektor sederhana di C.
Sglib dan perangkat lunak Attractive Chaos adalah pustaka makro C. Menggunakan void * untuk mengimplementasikan container generik di C mungkin tidak efisien. Makro C meniru template C ++ dan seefisien template C ++
Perpustakaan GDSL mungkin hal yang baik untuk dipertimbangkan:
Alat perangkat lunak AT&T .