排序可視化器
由C ++和SFML製成的輕量級排序可視化器。
我想為該項目做出貢獻!
驚人的!在這裡,您可以找到有關可視化器的一些有用信息,我們也接受第一個貢獻者!
另外,請確保從Dev Branch中取出最後的更改!
排序類型
- 氣泡排序
- 氣泡排序的起作用是通過在錯誤的位置互相交換元素來工作。從數據集的開頭開始,每個元素都“浮動”到正確的位置。有關氣泡排序的更多信息可以在此處找到。
- 選擇排序
- 選擇排序通過擁有兩個部分,分類和未分類的部分,並連續搜索未分類的部分,並將最小元素放入分類部分中。可以在選擇最大元素的情況下實現此排序算法。有關選擇的更多信息,請參見此處。
- 插入排序
- 插入排序類似於選擇排序,因為它們都有一個分類和未分類的部分。它不會連續選擇最小/最大的元素,而是將所選元素從未排序的部分插入,然後將其“插入”到排序部分中的正確位置。有關插入排序的更多信息,請參見此處。
- 快速排序
- 快速排序是一種“劃分和征服”算法。通過將問題拆分為較小的部分,解決較小的問題,然後將解決方案梳理成最終的解決方案,從而劃分和征服算法來工作。快速排序通過選擇元素作為“樞軸”,將其他元素移動到元素少於樞軸的一側,而元素在另一側的元素周圍移動其他元素,而元素比樞軸更大,然後不斷地與每一側進行該過程。將每個元素分區後,將解決方案組合到排序的數組中。可以在此處找到有關快速排序的更多信息,有關鴻溝和征服算法的更多信息可以在此處找到。
- 雞尾酒振盪器排序
- 雞尾酒振盪器排序是氣泡排序的變體。元素不僅將元素從底部到正確的位置“浮動”到正確的位置,還可以從數據集的頂部“下沉”到正確的位置。有關雞尾酒振盪器的更多信息,請參見此處。
- Bogo排序
- Bogo Sort是一種效率低下的排序算法,它隨機生成原始數據集的不同版本,並檢查是否已排序。有關Bogo排序的更多信息可以在此處找到。
- Bitonic排序
- Bitonic Sort是一種基於比較的排序算法,可以通過並行實現運行。在不同的子陣列中,該算法檢查第一個元素是否小於第二個元素,反之亦然。它會在較大的子陣列上不斷地做到這一點,直到整個數據集被分類為止。有關Bitonic排序的更多信息可以在此處找到。
- 奇怪的是
- 奇怪的類別是用於在Pararell處理器上開發的比較Vasion Vasion排序算法,它基於氣泡排序,但分為兩個階段奇數,甚至相位。在奇數相位算法上,在奇數索引元件上,在既定元素上都執行氣泡排序。有關奇數的更多信息可以在此處找到。
? ️用法
- 空間:開始排序
- backspace :停止排序
- H :顯示幫助
- F1 :更改元素數量
- F2 :更改比較之間的時間
- 箭頭向上 /箭頭:更改排序類型
? 下載
要求:
? Linux
- 克隆項目:
git clone https://github.com/alesbe/sorting-visualizer && cd sorting-visualizer - 運行
./install.sh
Windows / MacOS
從發布中下載
如果您想自己編譯項目,則需要按照下一步進行:
- 從官方網站下載SFML
- 下載Cmake
- 克隆存儲庫
- 打開
CMakeLists.txt並找到變量SFML_DIR 。將路徑設置為SFML CMAKE文件所在的路由。例如C:/Program Files (x86)/SFML/lib/cmake/SFML 。 - 從存儲庫的根目錄中,運行:
mkdir build cd build
cmake ..
cmake -G 'Visual Studio 17 2022' ..
- 在
/build Directory中,應該是視覺工作室解決方案。現在,您可以像往常一樣打開解決方案並使用播放按鈕編譯文件!
注意:如果您不想使用Visual Studio 2022,請在步驟6中為目標編譯器下載SFML,然後更改CMAKE GENTORATOR。您可以檢查使用CMAKE -G的生成器列表