This repository contains robust implementations of fundamental data structures in C++, along with solutions to real-world scenario problems and practice questions curated from various competitive programming platforms and academic sources.
Note: Problem solutions do not include the full data structure implementations. To run them, you must download the required header files from the Implementations section or folder and save them in the same directory as the solution file. The solutions are pre-linked to these files via #include statements.
Use the links below to jump to specific File:
Core data structures implemented from scratch.
- Stack using Array
- Stack using linked list
- Shifted Queue uisng Array
- Circular Queue using Array
- Queue using linked list
- Singly Linked List using head pointer only
- Singly circular Linked List using tail pointer only
- Singly Linked LIst using both head and tail pointer
- Doubly Linked List using both head and tail pointer
| Title | Concept | Category |
|---|---|---|
| Maze-Escape | Stack | Scenario based Question |
| Infix to pre and post fix conversion | Stack | Practice Questions |
| Reverse Stack | Stack | Practice Questions |
| Next greater element | Stack | Scenario based Question |
| TotalSum of min+max in SlidingWindow | Queue | Scenario based Question |
Contributions are welcome! If you want to add a new data structure or any practice question follow the given steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-new-solution). - Commit your changes (
git commit -m 'Add new DS solution'). - Push to the branch (
git push origin feature-new-solution). - Open a Pull Request.
If there is any bug supported, please report it! You can do this by:
- Navigating to the Issues tab.
- Clicking on New Issue.
- Describing the bug and providing the code snippet where it occurs.