Skip to content

A C++ library of generic data structures with OOP implementations of linear (linked lists, stack, queue) and non-linear (BST) structures. Includes searching and sorting algorithms. Built with templates for type independence, reusable across ints, floats, strings, and custom objects.

Notifications You must be signed in to change notification settings

SwarajMore09/Generalised_Data_Structures_Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—οΈ Generalised Data Structures Library

A C++ generic library that provides object-oriented implementations of essential linear and non-linear data structures, along with commonly used searching and sorting algorithms.
Designed with templates for type independence and modular, reusable components.


πŸš€ Features

πŸ“‚ Linear Data Structures

  • Singly Linear Linked List
  • Singly Circular Linked List
  • Doubly Linear Linked List
  • Doubly Circular Linked List
  • Stack (LIFO)
  • Queue (FIFO)

🌳 Non-Linear Data Structures

  • Binary Search Tree (BST)
    Supports insertion, deletion, and traversal operations.

πŸ”Ž Algorithms

  • Searching: Linear Search, Binary Search, etc.
  • Sorting: Bubble Sort, Selection Sort, Insertion Sort, and more.

βš™οΈ Utility Functions

  • Palindrome detection
  • Addition of even and odd elements
  • Reverse number
  • Maximum/Minimum/Second Maximum
  • Prime and Perfect number identification
  • Digit-based operations (sum, product, smallest/largest digit)
  • And many other helper functions for practice and real-world usage.

πŸ› οΈ Technology Stack

  • Language: C++
  • Paradigm: Object-Oriented Programming (OOP)
  • Key Concept: Generic Programming using C++ Templates

The same implementation works for integers, floats, strings, or custom objects.


πŸ“‚ Project Structure

Generalized_Data_Structure_Library.cpp   # Core template-based implementations
README.md                                # Project documentation

🧩 Learning Outcomes

  • Strong understanding of linear & non-linear data structures.
  • Mastery of C++ OOP and template programming.
  • Hands-on practice in building reusable libraries.
  • Practical knowledge of searching & sorting algorithms.

⚑ Getting Started

  1. Clone the repository

    git clone https://github.com/<your-username>/data-structures-library.git
    cd data-structures-library
  2. Compile the code

    g++ Generalized_Data_Structure_Library.cpp -o ds_library
  3. Run

    ./ds_library
  4. Integrate as a Library

    • Include the header/source file in your project.
    • Use the provided template classes (e.g., SinglyLLL<int>, StackX<string>).

πŸ§‘β€πŸ’» Example Usage

#include "Generalized_Data_Structure_Library.cpp"

int main() {
    StackX<int> s;
    s.Push(10);
    s.Push(20);
    s.Display();     // Output: |20| |10|
    cout << "Count: " << s.Count() << endl;
    return 0;
}

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

Developed by Swaraj Santoshrao More πŸ“§ Contact: moreswaraj9@gmail(mailto:your.moreswaraj9@gmail.com)

About

A C++ library of generic data structures with OOP implementations of linear (linked lists, stack, queue) and non-linear (BST) structures. Includes searching and sorting algorithms. Built with templates for type independence, reusable across ints, floats, strings, and custom objects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages