Now you can see how sorting algorithms work by watching them in real time. You can change the input size and the
sorting speed. When the algorithm is running comparisons
, array accesses
and swaps
are updating in real time.
If you want to learn these algorithms, learning them on paper is a good practice but for a more intuitive way
I also recommend their visualization, and it's also fun to watch.
The project is build with Processing
java library.
* Ascending
* Descending
* Sin Wave
* Bubble Sort
* Odd-Even Sort
* Insertion Sort
* Selection Sort
* Cocktail Sort
* Cycle Sort
* Gnome Sort
* Shell Sort
* Gravity Sort
* Bitonic Sort
* Smooth Sort
* Quick Sort
* Merge Sort
* In-Place Merge Sort
* Iterative Merge Sort(Bottom Up)
* Comb Sort
* Circle Sort
* Heap Sort
* Radix Sort
* Counting Sort
* Pigeonhole Sort
* Bogo Sort
To run the project, download the binaries under releases and open the .jar file. There are two versions: with and without opengl enabled. Try first the opengl version and if it's not working try the other one.
To build the project on your machine, you will need the libs
folder located in the root directory that contains
all the necessary libraries, except processing library that is imported via Gradle. This folder can be found under releases.
- GeeksForGeeks : Documentation for Sorting Algorithms
- RosettaCode : Documentation for Sorting Algorithms
- MrMusAddict : Gravity Sort Visualization
- WikiBooks : Smooth Sort