排序可视化器
由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的生成器列表