An interactive visualization tool to understand Stack and Queue data structures through animations and step-by-step operations.
- Visual Representation: See how stacks and queues work in real-time
- Interactive Operations: Push, Pop, Enqueue, Dequeue with smooth animations
- Step-by-Step Execution: Understand each operation as it happens
- Clean UI: Simple and intuitive interface for learning
- Educational Tool: Perfect for students learning data structures
https://stack-queue-visualization.onrender.com/
🔗 https://stack-queue-visualization.onrender.com/
- Backend: Java
- Frontend: HTML, CSS, JavaScript
- Build Tool: Gradle
Before running this project, make sure you have:
- Java Development Kit (JDK) 11 or higher
- Gradle (or use the included Gradle wrapper)
-
Clone the repository
git clone https://github.com/yashi2003/stack-queue-visualization.git cd stack-queue-visualization -
Build the project
./gradlew build
Or on Windows:
gradlew.bat build
-
Run the application
./gradlew run
-
Open in browser
Navigate to: http://localhost:8080
- Push: Add an element to the top of the stack
- Pop: Remove the top element from the stack
- Peek: View the top element without removing it
- Display: Show all elements in the stack
- Enqueue: Add an element to the rear of the queue
- Dequeue: Remove an element from the front of the queue
- Front: View the front element without removing it
- Display: Show all elements in the queue
stack-queue-visualization/
│
├── src/
│ ├── main/
│ │ ├── java/ # Java source files
│ │ └── resources/ # Static resources
│ │ ├── static/ # CSS, JS files
│ │ └── templates/ # HTML files
│ │
│ └── test/ # Test files
│
├── gradle/ # Gradle wrapper files
├── build.gradle.kts # Gradle build configuration
├── settings.gradle.kts # Gradle settings
└── README.md # Project documentation
This project helps you understand:
- LIFO (Last In First Out): Stack behavior
- FIFO (First In First Out): Queue behavior
- Time complexity of operations
- Practical applications of these data structures
- Visual debugging techniques
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Found a bug? Have a suggestion? Please open an issue here.
This project is open source and available under the MIT License.
Yashi
- GitHub: @yashi2003
Give a ⭐️ if this project helped you understand data structures better!
Made with ❤️ for learning data structures