Skip to content

This Java-based project provides an interactive graphical user interface (GUI) for visualizing and performing operations on various fundamental data structures. The application is designed to help students and developers better understand and interact with data structures through real-time visualizations.

License

Notifications You must be signed in to change notification settings

Rohitswami16/Data-Structure-Visualization-in-JFrame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

🌟 Data Structure Visualization in JFrame

📜 Project Description

This project is a Java-based application that provides an interactive graphical user interface (GUI) for visualizing and performing operations on various data structures. The application is implemented using JFrame and includes the following data structures:

  • 📋 Array
  • 🥞 Stack
  • 🚶 Queue
  • 🔄 Circular Queue
  • 🔗 Linked List

✨ Features

1. Data Structure Implementations

  • 📋 Array:
    • Takes size, index, and a number as inputs.
    • Supports the following operations:
      • ➕ Insert: Add a number at a specified index.
      • ❌ Delete: Remove a number from a specified index.
      • 📈 Sort: Sort the array in ascending order.
      • 🔍 Search: Find the index of a specified number.
      • 👀 Display: View the entire array content.
  • 🥞 Stack:
    • Takes size as input.
    • Supports the following operations:
      • ➕ Push: Add a number to the stack.
      • ➖ Pop: Remove the top number from the stack.
      • 👀 Display: View all elements in the stack.
  • 🚶 Queue:
    • Takes size as input.
    • Supports the following operations:
      • ➕ Insert: Add a number to the queue.
      • ❌ Delete: Remove a number from the front of the queue.
      • 👀 Display: View all elements in the queue.
  • 🔄 Circular Queue:
    • Takes size as input.
    • Supports the following operations:
      • ➕ Enqueue: Add a number to the circular queue.
      • ➖ Dequeue: Remove a number from the circular queue.
      • 👀 Display: View all elements in the circular queue.
  • 🔗 Linked List:
    • Created upon clicking a button.
    • Supports the following operations:
      • 🔄 Insert First: Add a node at the beginning.
      • ➕ Insert Last: Add a node at the end.
      • ❌ Delete First: Remove the first node.
      • ➖ Delete Last: Remove the last node.
      • 👀 Display: View all nodes in the linked list.

2. Graphical User Interface

  • 🖼️ Interactive JFrame-based GUI for each data structure.
  • 🎥 Real-time visual representation of operations.

🛠️ Prerequisites

  • Java Development Kit (JDK): Version 8 or later.
  • IDE: IntelliJ IDEA, Eclipse, or NetBeans (optional).

🚀 Installation

  1. 📥 Clone the Repository:

    git clone https://github.com/Rohitswami16/Data-Structure-Visualization-in-JFrame.git
    cd DataStructureVisualizer
  2. 🛠️ Compile the Code:

    javac -d bin src/**/*.java
  3. ▶️ Run the Application:

    java -cp bin Main

🕹️ Usage

  1. Launch the application and navigate through the GUI.
  2. Select a data structure from the main menu.
  3. Perform operations using the provided buttons and fields.
  4. View the visual representation of each operation in real-time.

📂 Directory Structure

DataStructureVisualizer/
├── src/
│   ├── DSAPP/
│   │   ├── Array.java
│   │   ├── Stack.java
│   │   ├── Queue.java
│   │   ├── CircularQueue.java
│   │   ├── LinkedList.java
│   │   ├── DataStructure.java
│   │   ├── ArrayFrame.java
│   │   ├── StackFrame.java
│   │   ├── QueueFrame.java
│   │   ├── CircularQueueFrame.java
│   │   └── LinkedListFrame.java
├── README.md
└── LICENSE

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-name).
  3. Commit your changes (git commit -m 'Add feature').
  4. Push the branch (git push origin feature-name).
  5. Open a pull request.

📜 License

This project is licensed under the MIT License. See the LICENSE file for details.


📧 Contact For any questions or issues, please contact:

🔗 LinkedIn: LinkedIn

🐙 GitHub: Rohitswami16

About

This Java-based project provides an interactive graphical user interface (GUI) for visualizing and performing operations on various fundamental data structures. The application is designed to help students and developers better understand and interact with data structures through real-time visualizations.

Topics

Resources

License

Stars

Watchers

Forks

Languages