深圳尚学堂Java培训:可视化排序实践之选择排序

本博文的程序实现对选择排序的可视化。具体的页面布局和之前的文章“可视化排序实践之冒泡排序”一致 (界面很简单就包括两个部分:界面左侧是可视化排序部分,右侧是冒泡排序的代码), 可视化排序实践之冒泡排序的博文请参考:

程序的关键点主要有两点:

1. 如何在页面上表示出排序程序的运行过程。

2. 如何将排序程序的运行过程和可视化排序结合起来,保持状态一致。

我的解决方法如下:

我采用了JList去模拟程序的执行,JList有一个setSelectedIndex的方法,能高亮显示指定的行。通过改变selectedIndex的值,能够达到模拟程序执行的效果。在这个过程中,记录下两个循环的索引状态值,根据这些状态值去调整可视化排序。

具体的程序页面和程序如下:

初始页面:

点击“Set”Menu,设定好程序运行的速度并点击“Start”Menu Item开始执行程序。

程序运行的中间过程:

相关文章

C语言排序方法——冒泡排序详解!你学会了吗?

冒泡排序法的基本思路为:每次将相邻的两个数比较,将小的调在前面。举个例子,如果有6个数:9,8,5,4,2,0。第一次先将最前面的两个数9和8对调。第二次将第2个数和第3个数对调(9和5)······...

冒泡排序(冒泡排序python)

冒泡排序(Bubble Sort)是一种简单的排序算法,其基本思想是对待排序的元素从前向后依次比较相邻的两个元素,如果顺序不对则交换它们的位置,轮比较下来,最大的元素就会“冒泡”到数组的末尾重复这个过...

冒泡排序——C语言(冒泡排序c语言什么意思)

冒泡排序的图示:假设有一个数组 [5, 3, 8, 6, 2],逐步冒泡排序的过程:第一轮:比较 5 和 3,5 > 3,交换 → [3, 5, 8, 6, 2]比较 5 和 8,5 <...

基于C语言的冒泡排序法(c语言冒泡排序思路)

冒泡排序法:对数组中的n个整数类型的数据元素(a[0]~a[n-1])进行排序。void BubbleSort(int a[],int n){ int i,j,flag=1; int temp; fo...

一文透彻解析冒泡排序(冒泡排序有几种方法)

谈一谈冒泡排序看到很多人谈算法题,上来就是一段代码,你去看去吧,自己悟去吧。心塞有的题目老长时间就是不理解。。。本文分析一下啥是冒泡排序?排序就是一组数字,按照顺序排列(从小到大) ,冒泡排序是排序的...

常见的三种排序(冒泡排序、插入排序、选择排序)

冒泡排序什么是冒泡排序?百度百科解释:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要...