【vb精品源码栏目提醒】:网学会员--在 vb精品源码编辑为广大网友搜集整理了:【精品】-冒泡排序在VB程序中的实现 - 综合课件绩等信息,祝愿广大网友取得需要的信息,参考学习。
科技信息SCIENCETECHNOLOGYINFORMATION2010年第9期在算法中最典型的排序方法是冒泡排序。
其基本思想是两两比较待排序记录的关键字发现两个记录的次序相反时即进行交换直到没有反序的记录为止。
设被排序的记录数组d....N垂直竖立.将每个数组元素di看作是一个气泡。
每次由相邻的两个气泡di和di1进行比较如果didi1那么就交换两个气泡然后再比较di1和di2。
那么每次比较后较重的气泡就会向下沉轻的气泡就会向上升。
以此类推直到所有的气泡都有序排列。
那么在
VB中如何实现冒泡排序呢1从一个
VB任务谈起1.1任务要求本任务要求利用数组及循环语句对一组无序的数据进行从小到大的排序。
效果图如下1.2任务实施分析从效果图来看界面包括两个标签和两个命令按钮。
其中上面的标签用于显示排序前的无序数据而这些数据是在窗体装载的时候随机产生并保存在数组的各元素中排序后的数据则在下面的标签显示排序工作通过单击“排序”命令按钮触发。
这个任务的关键在于比较和交换位置。
初始状态下数组的各元素是无序的通过若干次的比较和交换形成了一个从小到大的排列顺序。
从上述分析来看需要利用循环语句及分支语句。
2代码分析2.1数组的定义在利用数组前我们首先进行声明和定义。
用下面的语句定义数组a并确定数组元素的数据类型为整型。
根据我们的日常习惯利用OptionBase语句把数组a的下标确定为从1开始。
OptionBase1DimaAsIntegerDimsAsString2.2由随机函数产生数组元素利用循环结构产生数组的各元素并在标签Label1中显示。
PrivateSubForm_LoadRandomizeForiToaiIntRndssaiNextiLabel1.Captions在这段代码中利用RND函数随机产生各数组元素。
ND函数返回一个小于1但大于或等于0的单精度的数而在调用N函数前使用Randomize语句初始化随机数以便在每次调用N函数时产生不同的随机数。
由于在N函数前使用了INT函数所以各数组元素都是整数范围在1和100之间。
2.3排序过程利用双重循环对数组元素进行比对确定其排序后的位置并在标签Label2中显示排序后的效果。
从代码进行分析我们可以看出先把数组元素a1作为最小数值的元素把它与数组元素a2进行比对如果元素a2小于元素a1则进行交换。
其他比对依此类推。
PrivateSubCommand1_ClickDimijmintAsIntegerFori1To9miniForji1To1Ifaj