Generalised Data Structures Library ProjectName : Created self data structures.
Technology: C++ Programming
Author: Sakshi Pankaj Borhade
Project Overview This project is a C++ library of generic data structures that provides object-oriented implementations of both linear and non-linear data structures.
It offers ready-to-use functionalities for both fundamental and advanced operations. The library is designed using templates so that it can be reused with any data type.
The implementation follows OOP principles such as encapsulation, modularity, and extensibility, making it suitable for both academic learning and real-world application development.
Key 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) with insert, delete, and traversal operations Algorithms:
Searching: Linear Search, Binary Search Sorting: Bubble Sort, Efficient Bubble Sort, Selection Sort, Insertion Sort Generic Implementation:
Uses C++ templates for type independence Same implementation works for integers, floats, strings, and custom objects Library Format:
Designed as a reusable C++ library that can be linked with client applications Learning Outcomes Mastery of C++ Object-Oriented Programming (OOP) principles Strong foundation in linear and non-linear data structures Implementation of generic programming with templates Practical knowledge of searching and sorting algorithms Experience in designing reusable libraries for software development Motivation & Problem Statement Every computer science student and software developer repeatedly needs to implement and use data structures such as linked lists, stacks, queues, trees, and sorting/searching algorithms.
While C++ already provides the STL (Standard Template Library), many learners find it difficult to understand because of its abstract syntax and lack of visibility into internal implementations.
Thus, this project solves two main problems:
Educational Purpose → Helping learners understand the internal working of data structures by implementing them from scratch.
Practical Purpose → Providing a reusable, generic library that can be easily linked with other projects (like STL).
Implemented Data Structures Linear Data Structures Singly Linked List – supports insertion, deletion, traversal.
Singly Circular Linked List – nodes connected circularly.
Doubly Linked List – forward and backward traversal.
Doubly Circular Linked List – efficient navigation in both directions.
Stack (LIFO) – implemented using both array and linked list.
Queue (FIFO) – implemented using both array and linked list.
Non-Linear Data Structures Binary Search Tree (BST)
Insert
Delete
Search
Traversals: Inorder, Preorder, Postorder, Level Order
🔹 Implemented Algorithms Searching
Linear Search
Binary Search
Sorting Bubble Sort
Optimized Bubble Sort
Selection Sort
Insertion Sort