排序算法部分可视化
程序介绍
最近复习排序算法闲着无聊,做了一个可视化小程序,这个程序支持部分排序算法,当然有兴趣可以自己扩展
我将冒泡排序,选择排序,插入排序,希尔排序,快速排序做了可视化,展示一下最终效果
感兴趣可以看看我原来写的排序算法的链接(归并排序,桶排序)
https://blog.youkuaiyun.com/peterbearXY/article/details/114648428
程序描述
点击相应的按钮可以让下面的图像进行更新,点击重置可以使所有数回到原有位置
我们可以通过看相应的图像变化了解排序算法的过程,这里强烈推荐看选择排序,这个最明显
我这里放一串示例代码,全部可以到下面的链接中下载
https://download.youkuaiyun.com/download/peterbearXY/18116736
示例代码
选择排序:排序部分(利用线程)+演示部分
//排序部分
package SelectSorting;
import java.awt.Panel;
public class SelectAlgorithm extends Thread{
private int[] arr;
private Panel p;
public SelectAlgorithm(int[] arr, Panel p) {
this.arr = arr;
this.p = p;
}
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<arr.length-1;i++) {
int smallest =i;
for(int j=i;j<arr.length;j++) {
if(arr[j] < arr[smallest])
smallest = j;
}
if(i != smallest