This is a program which visualizes a bunch of sorting algorithms.
Made in C++17 using SFML 3.0.0, ImGui 1.91.1 (+imgui-sfml 3.0) and ImPlot (master 3da8bd3
), the code is completely cross platform!
See a video of the (pretty much latest) version (v1.1.0) here.
Or do you want to see the older version (v1.0.0)? It's here.
Has the following sorting algorithms implemented out of the box (there are 15 of them):
Bubble Sort,
Cocktail Sort,
Merge Sort,
Quick Sort,
Radix Sort (Least And Most Significant Digit),
Shell Sort,
Stalin Sort,
Bogo Sort,
Comb Sort,
Insertion Sort,
Selection Sort,
Gnome Sort,
Heap Sort,
Bitonic Sort,
Pancake Sort
And you can:
- Stop, pause and step through sorting.
- Increase/decrease the delay time (or have none, boo BubbleSort, boooo).
- Change the volume of the audio representation and tweak its effects.
- Personalize the plot (with 3 types) or the ui's styling.
Windows/Linux/MacOS:
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
Note: Every dependency is handled by cmake.
Linux note: Additional system dependencies are needed for SFML, check the docs or the github actions workflow file.
@ChrisTrasher - for the cmake script, CI script and testing.