{"id":25452342,"url":"https://github.com/raphaelsenn/sorting-algorithm-visualization","last_synced_at":"2025-09-11T01:33:17.254Z","repository":{"id":229410457,"uuid":"776048742","full_name":"raphaelsenn/sorting-algorithm-visualization","owner":"raphaelsenn","description":"sorting algorithm visualization in C++ with sfml","archived":false,"fork":false,"pushed_at":"2024-03-24T06:05:40.000Z","size":2283,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T23:05:28.521Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raphaelsenn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-22T15:19:21.000Z","updated_at":"2024-03-22T17:08:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"07d17d8c-bfd7-4bce-a969-3e8a46b1bde2","html_url":"https://github.com/raphaelsenn/sorting-algorithm-visualization","commit_stats":{"total_commits":16,"total_committers":2,"mean_commits":8.0,"dds":0.1875,"last_synced_commit":"725c494e7e6eec974721e37f10a92ceb9a9d3ffc"},"previous_names":["raphsenn/sorting-algorithm-visualization","raphaelsenn/sorting-algorithm-visualization"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelsenn%2Fsorting-algorithm-visualization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelsenn%2Fsorting-algorithm-visualization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelsenn%2Fsorting-algorithm-visualization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelsenn%2Fsorting-algorithm-visualization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raphaelsenn","download_url":"https://codeload.github.com/raphaelsenn/sorting-algorithm-visualization/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254527097,"owners_count":22085919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-17T23:05:31.432Z","updated_at":"2025-05-16T12:13:42.794Z","avatar_url":"https://github.com/raphaelsenn.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sorting-algorithm-visualization\n\nThis project is a sorting visualization application implemented in C++ using the SFML library. It provides a visual representation of various sorting algorithms such as Bubble Sort, Merge Sort, Quick Sort, and more. Users can interact with the application to see how these algorithms work on randomized input data.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./res/mergesort.gif\" alt=\"gif\"\u003e\n\u003c/div\u003e\n(GIF with 10FPS and low Resolution, not accurate to the actual program)\n\n### Implemented Algorithms 🧮\n- Mergesort\n- Quicksort\n- Bubblesort\n- Minsort\n- Swapsort\n\n### Prerequisites\n\nBefore you begin, make sure you have the following tools and libraries installed:\n\n- C++ compiler (e.g., g++)\n- SFML library \u003c3\n- Google Test (for running tests)\n\n\n## Usage\n\n- **Shuffle the Array**: Press the \"R\" key to shuffle the array. This action will randomize the input data, providing a new set of elements for the sorting algorithms to work on.\n- **Start the Algorithm**: Press the \"Enter\" key to start the currently selected sorting algorithm. This will initiate the visualization of the sorting process using the chosen algorithm.\n- **Switch Algorithms**:\n  - Use the left arrow key to switch to the previous sorting algorithm in the list.\n  - Use the right arrow key to switch to the next sorting algorithm in the list.\n\n### Installation with make\n\n1. Clone the repository:\n```js\ngit clone https://github.com/raphsenn/sorting-algorithm-visualization.git\n```\n\n2. Navigate to the project directory:\n```js\ncd sorting-algorithm-visualization\n```\n\n3. Edit the Makefile\nBefore building the project, you'll need to edit the Makefile to specify the correct paths for the SFML library and include directories based on your system. Open the Makefile in a text editor and update the following lines:\n\nReplace \"yourpath\" with your own path.\n\n```js\nCXX = g++\nCXXFLAGS = -std=c++17 -Wall -Wextra -O2\nLDFLAGS = -I/your-path-to/sfml/2.6.1/include\nLIBS = -L/your-path-to/sfml/2.6.1/lib -lsfml-graphics -lsfml-window -lsfml-system\n ```\n\n4. Compile the project using the provided Makefile:\n```js\nmake all\n```\n\n5. Run program\n```js\n./main\n```\n\n### Installation without make\n\n1. Clone the repository:\n```js\ngit clone https://github.com/raphsenn/sorting-algorithm-visualization.git\n```\n\n2. Navigate to the project directory:\n```js\ncd sorting-algorithm-visualization\n```\n\n3. Compile the project (without Makefile):\n```js\ng++ -std=c++17 -Wall -Wextra -O2 -I/your-path-to/sfml/2.6.1/include -Iinclude -c src/application.cpp -o application.o\ng++ -std=c++17 -Wall -Wextra -O2 -I/your-path-to/sfml/2.6.1/include -Iinclude -c src/main.cpp -o main.o\n```\n\n4. Linking\n```js\ng++ main.o application.o -o main -L/your-path-to/sfml/2.6.1/lib -lsfml-graphics -lsfml-window -lsfml-system\n```\n\n5. Run program\n```js\n./main\n```\n\nEnjoy exploring the visualization of sorting algorithms!\n\n## License\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraphaelsenn%2Fsorting-algorithm-visualization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraphaelsenn%2Fsorting-algorithm-visualization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraphaelsenn%2Fsorting-algorithm-visualization/lists"}