Skip to content

Basic data structures in C with useful comments and explanations

License

Notifications You must be signed in to change notification settings

Vaggelis-Arg/C-data-structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C-data-structures

Welcome to C-data-structures! This is a collection of various data structures implemented in C using void pointers and macros. Each data structure in this project is designed to provide efficient and flexible solutions to common programming challenges. The use of void pointers and macros allows for a generic implementation that can handle different types of data. The present project is from the course "Data Structures and Programming Techniques" which I attended in the first year of my undergraduate studies with a grade 10/10.

Table of Contents

Introduction

Data structures are fundamental building blocks in computer science and programming. They enable efficient data organization, storage, and retrieval, often optimizing algorithms and overall program performance. This project aims to provide a versatile and reliable library of data structures for C programmers.

Data Structures

The following data structures have been implemented in this project:

  • AVL tree
  • Bloom Filter
  • Double Hashing Hash Table
  • Double Linked List
  • Priority Queue
  • Queue
  • Red Black Tree
  • Separate Chaining Hash Table
  • Skip List
  • Stack
  • Vector

Each data structure has its own separate README file, which provides specific details about its implementation, usage, and performance characteristics.

Usage

To use any of the data structures in your C projects, follow these general steps:

  1. Clone or download this repository to your local machine.
  2. Navigate to the specific data structure directory you are interested in.
  3. Include the necessary header files in your C code.
  4. Compile your code along with the data structure's source files.
  5. Use the provided API functions to interact with the data structure in your program.

For more detailed instructions and examples, refer to the individual README files for each data structure.

License

This project is licensed under the MIT License. You are free to use, modify, and distribute the code for both personal and commercial purposes. However, it comes with no warranties or guarantees of any kind. Use it at your own risk.

Thank you for using C-data-structures, I hope you find it useful!