How h0nzra/data_structure works
libds is a generic C data-structure library: callers configure fixed-size elements, then use container-specific operations that copy element bytes into library-managed storage. Its documented capabilities include a min/max priority queue, a doubly linked list, and a LIFO stack; the tree and source index also show a FIFO queue implementation. Heap ordering and shared allocation helpers are useful internal layers. The queue and several implementation details are represented from the tree and index, not inspected excerpts, so their internal call relationships are omitted.
Main entry points: heapq.c Heap Operations · queue.h Queue API · heapq.h Heap API · list_operation.c Doubly Linked List
Components 13
Containers
- Doubly Linked List
lib/src/list_operation.c - List API
lib/inc/list.h - LIFO Stack
lib/src/stack_operation.c - Stack API
lib/inc/stack.h - FIFO Queue
lib/src/queue.c - Queue API
lib/inc/queue.h
Priority Queue
- Heap API
lib/inc/heapq.h - Heap Operations
lib/src/heapq.c - Heap Ordering
lib/src/heapq_operation.c - Heap Relations
lib/src/heapq_relation.c
Storage Helpers
- Dynamic Allocation
lib/src/memory.c - Queue Storage
lib/src/queue_memory.c
Other components
- Library Caller
Connections 10
- Library Caller → LIFO Stack: pushes and pops
README.md - Library Caller → Doubly Linked List: uses operations
README.md - Library Caller → Heap API: configures ordering
README.md - Library Caller → Queue API: uses FIFO operations
- List API → Doubly Linked List: declares operations
lib/inc/list.h - Stack API → LIFO Stack: declares operations
lib/inc/stack.h - Queue API → FIFO Queue: declares operations
lib/inc/queue.h - Heap API → Heap Operations: declares operations
lib/inc/heapq.h - Heap Operations → Heap Ordering: sifts and heapifies
lib/src/heapq.c - Heap Operations → Dynamic Allocation: resizes storage
lib/src/heapq.c