The Sorting Visualizers project is a web application built using ReactJS and React-Redux that allows users to visualize various sorting algorithms. Users can input an array of numbers, select a sorting algorithm such as Bubble Sort, Quick Sort, or Merge Sort, and observe how the algorithm rearranges the elements step-by-step.
- ReactJS: Frontend library for building the user interface.
- React-Redux: State management for handling application state.
- CSS: Styling for a responsive and user-friendly interface.
- Sorting Algorithms: Implements algorithms like Bubble Sort, Quick Sort, and Merge Sort.
- Interactive Visualization: View real-time sorting animations.
- Algorithm Selection: Choose from various sorting algorithms.
- Array Input: Input custom arrays to visualize sorting.
- Step Control: Step through the sorting process to understand each phase.
- Responsive Design: Optimized for both desktop and mobile devices.
- Node.js (v14+)
- Clone the repository:
git clone https://github.com/Shubham121s/sorting-visualizers.git
- Navigate to the project directory:
cd sorting-visualizers
- Install dependencies:
npm install
- Start the development server:
npm start
- Open your browser and go to
http://localhost:3000
to access the application.
- Input Array: Enter a list of numbers into the input field.
- Select Algorithm: Choose a sorting algorithm from the dropdown menu.
- Start Visualization: Click "Start" to begin the sorting process.
- Step Through: Use the "Step" button to go through the sorting process one step at a time.
- Pause/Resume: Pause or resume the animation as needed.
-
/src: Contains source code for React components, Redux actions, reducers, and styles.
- /components: Reusable React components for visualization and controls.
- /redux: Redux setup including actions and reducers.
- /styles: CSS files for styling the application.
- /algorithms: Implementations of different sorting algorithms.
-
/public: Contains static files like
index.html
. -
/config: Configuration files (if any).
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes and commit them (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a Pull Request.