GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ArthurJ01/Algorithm-visualiser: An algorithm visualiser made in C++ using SFML respresenting common algorithms like insertion sort, merge sort, DFS, BFS

BranchesTags
Open more actions menu

Latest commit

 

History

78 Commits
78 Commits

Folders and files

NameName
Last commit message
Last commit date
.vscode
.vscode
 
 
GraphBuilding
GraphBuilding
 
 
Images
Images
 
 
SFML-3.0.0
SFML-3.0.0
 
 
fonts/arial-font
fonts/arial-font
 
 
headers
headers
 
 
sortingAlgorithms
sortingAlgorithms
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
README.md
README.md
 
 
build.bat
build.bat
 
 
button.cpp
button.cpp
 
 
draw.cpp
draw.cpp
 
 
initialize.cpp
initialize.cpp
 
 
main.cpp
main.cpp
 
 
sfml-graphics-3.dll
sfml-graphics-3.dll
 
 
sfml-install-readme.md
sfml-install-readme.md
 
 
sfml-system-3.dll
sfml-system-3.dll
 
 
sfml-window-3.dll
sfml-window-3.dll
 
 

Repository files navigation

Algorithm visualiser

A simple C++ algorithm visualizer using SFML, visualising different common algorithms.

Algorithm Visualiser

Features

I have implemented the visualisation of two sorts and two graph traversals.

Sorting algorithms

I have implemented the visualisation of the insertion sort and merge sort algorithms. I have stored snapshots of every step of the sort so users can go through all the steps fast with the arrow keys or step by step with the mouse 1 and 2 buttons.

Graph builder

I implemented a graph builder where the user can place nodes and edges and thereafter run a DFS or BFS on that graph.

Installation/Build

This project is tested only on Windows. It may not work on Linux/macOS without modifications.

Requirements

  • WinLibs UCRT 14.2.0 (64-bit) (g++ compiler)
  • SFML 3.0.0 is included in the repository,
  • Windows 10 or later

vscode

  • Install WinLibs UCRT 14.2.0 (64-bit)
  • Add it to PATH
  • Press F5

build.bat

  • Install WinLibs UCRT 14.2.0 (64-bit)
  • Add it to PATH
  • Run build.bat
  • Run algoVisualiser.exe

run the release

You can download the pre-built release from the GitHub repository. It should work out of the box on Windows 10 or later.

Code structure

The main menu runs in main.cpp. Gifs of functionality are in the images folder.

Sorting algorithms

The sorting window is run by a function in the sortingAlgorithms/sortingVisualiser.cpp, the sorting algorithms which create the snapshots are in the same folder. When the user presses one of the sorting buttons in the main menu the sorting algorithm is run, and the list of snapshots sent back to be displayed.

Graph builder

The graph builder window is run by a function in the GraphBuilding/runGraphBuilder.cpp, the DFS and BFS algorithms are in traversal.cpp in the same folder. When the user creates a graph the first node created is the startpoint, this can only be changed by clearing the graph and making a new one. The nodes save their neighbours in an adjacency list which is used in the searching algorithms.

More information

More of the development process can be found on my portfolio.

About

An algorithm visualiser made in C++ using SFML respresenting common algorithms like insertion sort, merge sort, DFS, BFS

Topics

cppgraph-algorithmsgraph-algorithms-visualizergraph-buildersfmlsorting-algorithm-visualizationssorting-algorithms

Resources

Readme
Activity

Stars

5 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.