All Projects → yudi-matsuzake → Libgenerics

yudi-matsuzake / Libgenerics

Licence: unlicense
libgenerics is a minimalistic and generic library for C basic data structures.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Libgenerics

Containers
This library provides various containers. Each container has utility functions to manipulate the data it holds. This is an abstraction as to not have to manually manage and reallocate memory.
Stars: ✭ 125 (+197.62%)
Mutual labels:  data-structures, vector, stack, priority-queue, queue, map
Sc
Common libraries and data structures for C.
Stars: ✭ 161 (+283.33%)
Mutual labels:  data-structures, vector, stack, generic, library, queue
Buckets Js
A complete, fully tested and documented data structure library written in pure JavaScript.
Stars: ✭ 1,128 (+2585.71%)
Mutual labels:  data-structures, stack, priority-queue, queue, map
Data Structures
A collection of powerful data structures
Stars: ✭ 2,534 (+5933.33%)
Mutual labels:  data-structures, stack, trie, priority-queue, queue
Qlibc
qLibc is a simple and yet powerful C library providing generic data structures and algorithms
Stars: ✭ 614 (+1361.9%)
Mutual labels:  vector, stack, library, queue
DEPRECATED-data-structures
A collection of powerful data structures
Stars: ✭ 2,648 (+6204.76%)
Mutual labels:  stack, queue, trie, priority-queue
Cdcontainers
Library of data containers and data structures for C programming language.
Stars: ✭ 57 (+35.71%)
Mutual labels:  stack, library, queue, map
Buckets Swift
Swift Collection Data Structures Library
Stars: ✭ 106 (+152.38%)
Mutual labels:  stack, trie, priority-queue, queue
Redux Data Structures
Reducer factory functions for common data structures: counters, maps, lists (queues, stacks), sets, etc.
Stars: ✭ 157 (+273.81%)
Mutual labels:  data-structures, stack, queue, map
Javascript Datastructures Algorithms
📚 collection of JavaScript and TypeScript data structures and algorithms for education purposes. Source code bundle of JavaScript algorithms and data structures book
Stars: ✭ 3,221 (+7569.05%)
Mutual labels:  data-structures, stack, priority-queue, queue
Mlib
Library of generic and type safe containers in pure C language (C99 or C11) for a wide collection of container (comparable to the C++ STL).
Stars: ✭ 321 (+664.29%)
Mutual labels:  stack, generic, priority-queue, queue
C Macro Collections
Easy to use, header only, macro generated, generic and type-safe Data Structures in C
Stars: ✭ 192 (+357.14%)
Mutual labels:  data-structures, stack, library, queue
Competitive Programming
Contains solutions and codes to various online competitive programming challenges and some good problems. The links to the problem sets are specified at the beginning of each code.
Stars: ✭ 65 (+54.76%)
Mutual labels:  stack, queue, trie
Algorithms
Data Structures & Algorithms. Includes solutions for Cracking the Coding Interview 6th Edition
Stars: ✭ 89 (+111.9%)
Mutual labels:  stack, queue, trie
ctl
My variant of the C Template Library
Stars: ✭ 105 (+150%)
Mutual labels:  stack, queue, priority-queue
Fortress-of-Solitude
This Library has resources to solve common data structure algorithm problems like a Doubly linked list, Generic trees, Queue, Stack, and other algorithms. Each lib has an option to carry your custom data in elements. Custom data in detail, other fantastic resources.
Stars: ✭ 53 (+26.19%)
Mutual labels:  stack, queue, vector
Cdsa
A library of generic intrusive data structures and algorithms in ANSI C
Stars: ✭ 549 (+1207.14%)
Mutual labels:  stack, generic, queue
AlgoDaily
just for fun
Stars: ✭ 118 (+180.95%)
Mutual labels:  stack, queue, trie
Data-Structures-and-Algorithms
Data Structures and Algorithms implementation in Python
Stars: ✭ 31 (-26.19%)
Mutual labels:  stack, queue, data-structures
Staticvec
Implements a fixed-capacity stack-allocated Vec alternative backed by an array, using const generics.
Stars: ✭ 236 (+461.9%)
Mutual labels:  data-structures, vector, stack

libgenerics

libgenerics is a minimalistic and generic library for C basic data structures.

The entire implementation was aimed at providing reusable, generic and easy-to-read code like this:

#include <stdio.h>
#include <generics/queue.h>

#define N 10

int main()
{
	int i;
	queue_t q;
	queue_create(&q, sizeof(int));

	for( i=0; i<N; i++ )
		queue_enqueue(&q, &i);

	int temp;
	for( i=0; i<N/2; i++ ){
		queue_dequeue(&q, &temp);
		printf("dequeued: %d\n", temp);
	}

	queue_destroy(&q);
	return 0;
}

The doxygen documentation is available here. There's only the pdf version pre-generated, but you can generate the html and the man format with doxygen.

Installation

$ make
$ sudo make install

To make sure everything went well you may compile the examples:

$ make build/examples

You can copy the code above to a file name main.c and compile after the installation using:

$ gcc main.c -lgenerics

You may also try another examples.

Uninstall:

$ make uninstall

UNLICENSE

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.

For more information, please refer to http://unlicense.org/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].