Tôi đang tìm kiếm một thư viện C với các cấu trúc dữ liệu có thể tái sử dụng phổ biến như danh sách được liên kết, bảng băm, v.v. Một thứ giống như nguồn được phân phối với Thuật toán làm chủ với C (Bìa mềm) của Kyle Loudon .
Tôi đang tìm kiếm một thư viện C với các cấu trúc dữ liệu có thể tái sử dụng phổ biến như danh sách được liên kết, bảng băm, v.v. Một thứ giống như nguồn được phân phối với Thuật toán làm chủ với C (Bìa mềm) của Kyle Loudon .
Câu trả lời:
BSD queue.h có:
BSD tree.h có:
Xem trang người xếp hàng (3) và cây (3) để biết thêm chi tiết. Tôi thực sự thích chúng vì chúng là macro C thuần túy mà không có phụ thuộc (thậm chí không phải libc). Cùng với giấy phép BSD, bạn không phải lo lắng về bất kỳ hạn chế nào của công ty w / GPL.
gnulib , thư viện di động gnu.
Nó được phân phối dưới dạng mã nguồn. Danh sách này là từ danh sách mô-đun của nó , bao gồm một TẤN những thứ khác. Một điều thú vị là "c-stack: Xử lý tràn ngăn xếp, gây thoát chương trình."
SGLIB là một thư viện cấu trúc dữ liệu chung tuyệt vời. Thư viện hiện cung cấp các triển khai chung cho:
sắp xếp mảng
danh sách
được liên kết đã sắp xếp danh sách
liên kết kép danh sách liên kết đôi
màu đỏ-đen cây được
băm vùng chứa
Nó rất nhanh, nhanh hơn glib. Nó được lấy cảm hứng từ Thư viện Mẫu Chuẩn.Tải xuống ở đây
Một giải pháp khác là phần mềm Attractive Chaos . Thư viện macro C:
kbtree.h : thư viện B-tree hiệu quả trong C.
khash.h: thư viện bảng băm nhanh và trọng lượng nhẹ trong C.
kvec.h: vùng chứa vector đơn giản trong C.
Phần mềm Sglib và Attractive Chaos là thư viện C macro. Sử dụng void * để triển khai các vùng chứa chung trong C có thể không hiệu quả. Macro C bắt chước mẫu C ++ và hiệu quả như mẫu C ++
Thư viện GDSL có thể là một điều tốt để xem xét:
Các công cụ phần mềm của AT&T .