All Projects → tezc → Sc

tezc / Sc

Licence: mit
Common libraries and data structures for C.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Sc

C Macro Collections
Easy to use, header only, macro generated, generic and type-safe Data Structures in C
Stars: ✭ 192 (+19.25%)
Mutual labels:  data-structures, stack, heap, hashmap, library, 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 (+99.38%)
Mutual labels:  algorithms, stack, collections, generic, hashmap, queue
Libgenerics
libgenerics is a minimalistic and generic library for C basic data structures.
Stars: ✭ 42 (-73.91%)
Mutual labels:  data-structures, vector, stack, generic, library, queue
Algodeck
An Open-Source Collection of 200+ Algorithmic Flash Cards to Help you Preparing your Algorithm & Data Structure Interview 💯
Stars: ✭ 4,441 (+2658.39%)
Mutual labels:  algorithms, data-structures, stack, heap, linked-list, queue
Cdsa
A library of generic intrusive data structures and algorithms in ANSI C
Stars: ✭ 549 (+240.99%)
Mutual labels:  algorithms, stack, collections, generic, linked-list, queue
Cdcontainers
Library of data containers and data structures for C programming language.
Stars: ✭ 57 (-64.6%)
Mutual labels:  stack, collections, heap, library, queue
Data Structures
Common data structures and algorithms implemented in JavaScript
Stars: ✭ 139 (-13.66%)
Mutual labels:  algorithms, data-structures, stack, linked-list, queue
Buckets Js
A complete, fully tested and documented data structure library written in pure JavaScript.
Stars: ✭ 1,128 (+600.62%)
Mutual labels:  data-structures, stack, collections, linked-list, queue
Data Structures With Go
Data Structures with Go Language
Stars: ✭ 121 (-24.84%)
Mutual labels:  algorithms, stack, collections, linked-list, queue
needle
📌📚 An extensive standalone data structure library for JavaScript.
Stars: ✭ 25 (-84.47%)
Mutual labels:  linked-list, stack, queue, hashmap, heap
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 (-22.36%)
Mutual labels:  data-structures, vector, stack, collections, queue
Data-Structures-and-Algorithms
Data Structures and Algorithms implementation in Python
Stars: ✭ 31 (-80.75%)
Mutual labels:  linked-list, stack, queue, data-structures
Data-Structures
Algorithmic Problems Solutions -- hash table code featured in geeksforgeeks
Stars: ✭ 44 (-72.67%)
Mutual labels:  linked-list, stack, queue, heap
Geeksforgeeks Dsa 2
This repository contains all the assignments and practice questions solved during the Data Structures and Algorithms course in C++ taught by the Geeks For Geeks team.
Stars: ✭ 53 (-67.08%)
Mutual labels:  data-structures, stack, linked-list, queue
Data-Structure-Algorithm-Programs
This Repo consists of Data structures and Algorithms
Stars: ✭ 464 (+188.2%)
Mutual labels:  linked-list, stack, queue, heap
Data-structures
Data Structures in Java
Stars: ✭ 13 (-91.93%)
Mutual labels:  linked-list, stack, queue, data-structures
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 (+1900.62%)
Mutual labels:  data-structures, stack, linked-list, queue
Qlibc
qLibc is a simple and yet powerful C library providing generic data structures and algorithms
Stars: ✭ 614 (+281.37%)
Mutual labels:  vector, stack, library, queue
Collections C
A library of generic data structures.
Stars: ✭ 2,297 (+1326.71%)
Mutual labels:  algorithms, data-structures, collections, library
Coding Interview Gym
leetcode.com , algoexpert.io solutions in python and swift
Stars: ✭ 451 (+180.12%)
Mutual labels:  algorithms, stack, heap, queue

Overview

License: MIT codecov Total alerts

Portable, stand-alone C libraries and data structures. (C99)

Most of them are optimized for performance. e.g array, hashmap, queue, timer.

Each folder is stand-alone with a single header/source pair in it.
There is no build for libraries, just copy files you want.
e.g If you want array, copy sc_array.h and sc_array.c to your project.

I use on Linux mostly but libraries are portable, CI runs on

OS         : Linux, MacOS, FreeBSD and Windows  
Compilers  : GCC, Clang, MSVC  
Arch       : x64, aarch64, armv6(32 bit), armv7(32 bit), ppc64le, s390x(big endian)  
Sanitizers : valgrind and clang/gcc sanitizers(address, undefined, thread)

List

Library Description
array Generic array/vector
buffer Buffer for encoding/decoding variables, best fit for protocol/serialization implementations
condition Condition wrapper for Posix and Windows
crc32 Crc32c, uses crc32c CPU instruction if available
heap Min heap which can be used as max heap/priority queue as well
ini Ini parser
linked list Intrusive linked list
logger Logger
map A high performance open addressing hashmap
memory map Mmap wrapper for Posix and Windows
mutex Mutex wrapper for Posix and Windows
option Cmdline argument parser. Very basic one
perf Benchmark utility to get performance counters info via perf_event_open()
queue Generic queue which can be used as dequeue/stack/list as well
sc Utility functions
signal Signal safe snprintf & Signal handler (handling CTRL+C, printing backtrace on crash etc)
socket Pipe / tcp sockets(also unix domain sockets) /Epoll/Kqueue/WSAPoll for Posix and Windows
string Length prefixed, null terminated C strings.
thread Thread wrapper for Posix and Windows.
time Time and sleep functions for Posix and Windows
timer Hashed timing wheel implementation with fast poll / cancel ops
uri A basic uri parser
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].