Giter Site home page Giter Site logo

xorll's Introduction

Generic implementation of XOR Linked List

XOR linked list is a type of data structure. It takes advantage of the bitwise XOR operation to decrease memory usage by storing the composition of both addresses in one field. The adress of next Node can be deduced during traversal by combining adressess of current and previous Nodes. reference

image

This implementation is generic by using void*. By design, almost everything is hidden inside of .c file. API-user can only access the adress of Item, nothing else.

Should build with any C/C++ compiler on any OS, but mostly tested on Linux with gcc

cc list.h list.c example.c -Wall -Werror -Wextra -std=c99 -fsanitize=address,undefined

Inspired by part of this video talking about problems with implementing such List in systems using Garbage Collection.

I wrote it because I really wanted to write something generic in C...

xorll's People

Contributors

sleeptightansic avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.