Skip to content

MateuszKwiat/sorting-algorithms-visualization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sorting Algorithms Visualization

A C++20 desktop application that visualizes various sorting algorithms in real time. Built using SFML, ImGui, and imgui-sfml, the project offers an interactive way to explore how different sorting techniques operate step-by-step.

Sorting visualization demo

Features

  • Visualization of common sorting algorithms:
    • Bubble Sort
    • Insertion Sort
    • Selection Sort
    • Quick Sort
  • Adjustable speed, array size, and algortihm selection
  • Real-time bars and animations
  • Simple and responsive ImGui interface
  • Cross-platform (Windows, Linux, macOS)

Technologies

Building

Prerequisites

Make sure you have:

  • CMake $\geq$ 4.0.2
  • C++20 - compatible compiler
  • Git
    All libraries are fetched automatically via cmake FetchContent

Linux & macOS

Clone & build

git clone https://github.com/MateuszKwiat/sorting-algorithms-visualization.git
cd sorting-algorithms-visualization/
cmake -B build -S .
cmake --build build

Run

./build/bin/sorting_algorithms_visualization

Linux Users: Before building, make sure the following packages are installed:

sudo apt update
sudo apt install build-essential cmake libx11-dev libxrandr-dev libxcursor-dev libxi-dev libudev-dev libgl1-mesa-dev libfreetype6-dev libopenal-dev libvorbis-dev libflac-dev

Windows (Visual Studio)

Clone & build

git clone https://github.com/MateuszKwiat/sorting-algorithms-visualization.git
cd sorting-algorithms-visualization
cmake -B build -S . -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release

Run

build\bin\Release\sorting_algorithms_visualization.exe

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published