Skip to content

pansareprajwal/Generic-DS-Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Generalized Data Structure Library (C++)

A robust, template-based C++ library providing a wide range of fundamental data structures. This project implements a Generic Approach, allowing the library to handle any data type (int, float, char, or custom objects) while maintaining high performance and memory efficiency.

πŸš€ Features

  • Generic Implementation: Uses C++ Templates (template <class T>) for flexibility.
  • Memory Optimization: Uses #pragma pack(1) to prevent unnecessary memory padding.
  • Consistent Documentation: Every function is documented with its Purpose, Input, and Output.
  • Object-Oriented Design: Clean separation between Node classes and Functionality classes.

πŸ“‚ Library Architecture

The library is categorized into Linear and Non-Linear structures:

Data Structure Type Node Class Functionality Class
Singly Linear SinglyLLLnode SinglyLLL
Singly Circular SinglyCLLnode SinglyCLL
Doubly Linear DoublyLLLnode DoublyLLL
Doubly Circular DoublyCLLnode DoublyCLL
Stack (LIFO) Stacknode Stack
Queue (FIFO) Queuenode Queue

πŸ› οΈ Usage Examples

1. Singly Linear Linked List

#include "GeneralizedDS.cpp"

int main() {
    SinglyLLL<int> *obj = new SinglyLLL<int>();
    obj->InsertFirst(51);
    obj->InsertFirst(21);
    obj->InsertFirst(11);
    obj->Display(); // Output: | 11 |-> | 21 |-> | 51 |-> NULL
    return 0;
}

πŸ‘¨β€πŸ’» Author

Prajwal Sanjay Pansare

GitHub: @pansareprajwal

LinkedIn: Prajwal Pansare

About

A template-based C++ library providing generic implementations of fundamental data structures, including Linked Lists, Stacks, and Queues, built for type-safe and reusable algorithmic problem-solving.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages