With the assistance of ChatGPT-3.5, I was able to create this sorting visualizer.
The PopUpSort package is a Python package that visualizes multiple sorting algorithms. The package uses the Tkinter library for the graphical user interface.
- Python 3.x
- tkinter library (included in most Python installations)
pip install popupsort
Method 2: Download the source code, then open terminal in the downloaded folder (where setup.py is) and run
pip install .
import popupsort as pus
pus.sort(array, algorithm, speed) # Sorting an already defined array
pus.sort_rand(size, min, max, algorithm, speed) # Auto generate an array and sort it
pus.sort_compare(array, algorithms, speed) # Compare sorting algorithms
pus.sort_compare_rand(size, min, max, algorithms, speed) # Auto generate an array and compare sorting algorithms
Replace 'algorithm' argument with any of these options:
- 'Bubble Sort' or 'b'
- 'Selection Sort' or 's'
- 'Insertion Sort' or 'i'
- 'Quick Sort' or 'q'
- 'Merge Sort' or 'm'
- 'Heap Sort' or 'h'
- 'Shell Sort' or 'sh'
For sorting comparision, replace 'algorithms' argument with a list of algorithms:
algorithms = ['b', 's', 'i', 'q', 'm', 'h', 'sh'] # You can remove any algorithms you don't want to compare
arr = [60,24,21,65,93,56,35,10,55,49,86,76] # Define an array
pus.sort(arr, 'b', 0.02) # Visualize the bubble sort of this array with a speed of 0.02s
pus.sort_rand(50, 1, 100, 'i') # Generate an array of size 50 with elements ranging from 1 to 100 and sort it using insertion sort, speed is 0.01 by default
pus.sort_compare(arr, ['s','i']) # Compare selection and insertion algorithms
pus.sort_compare_rand(100, 1, 20, ['q','h','m']) # Generate an array and compare quick sort, heap sort, and merge sort