cLinkedList
A simple C library for doubly linked list creation and management
|
This is a simple linked list manager for C that I've been using for a long while now. It may not be as optimized as Boost's libraries for linked lists, but it is very simple to use and has been tested rigorously.
This library allows you to dynamically create and manage doubly linked lists of elements that already exist in memory using pointers. This means that the actual data is untouched by this library which essentially manages a linked list of pointers to data.
In addition to the source, you can download cLinkedList
as a precompiled library. It's currently only available as a static library for Windows (WIN32, x86), but I will make a DLL available when I have a time away from academics.
At some point, I will also build shared and static libraries for 64-bit PC Linux.
Download the repo and place it in your project directory. Be sure to add the include
and bin
directories of the project to your compile and linker paths respectively. You do not need the source
and cLinkedList
directories which can be safely remove.
Doxygen documentation for each of the functionalities below are linked with the functions. The Doxygen documentation home page is here.
This library is considered feature-complete for my purposes. If you see any bugs or want a feature implemented, please don't hesitate to open an issue or send pull request my way.
POINTERS POINTERS POINTERS! First and foremost, creating this library was an exercise in the correct usage of C pointers. Additionally, this library gave the opportunity to write code that completely platform-agnostic and portable. With only one header and only one source file, it is easy to compile together with your other C/C++ code.
This library and its source code is distributed under the Mozilla Public License v2.0.