1 / 11
文档名称:

vb常用算法——排序.doc

格式:doc   大小:102KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

vb常用算法——排序.doc

上传人:xnzct26 2021/9/24 文件大小:102 KB

下载得到文件列表

vb常用算法——排序.doc

相关文档

文档介绍

文档介绍:- -
- -
VB常考算法〔八〕排序:
1、算法
1〕选择法排序
算法说明:根据上例中求最小值的思路,我们可以使用如下方法进展从小到大排序:第一轮,以第一个元素逐个跟后面的所有元素比拟,如果比后面的元素大就进展交换,经过一轮比拟,第一个元素被确定为最小;同样的方法,下一轮以第二个元素跟剩下的所有元素进展比拟确定下次小的元素;以此类推…
下面我们以图形的形式表达对5个数进展选择排序的过程:
1
6
4
2
5
最小值
6
2
4
1
5
2
6
4
1
5
2
6
4
1
5
1
6
4
2
5
第一轮:
第二轮:
1
6
4
2
5
1
4
6
2
5
1
2
6
4
5
1
2
6
4
5
次小值
1
2
4
6
5
1
2
4
5
6
1
2
6
4
5
1
2
4
6
5
1
2
4
6
5
第三轮: 第四轮:
- -
- -
从上图可以发现对5个元素进展排序,总共经过了5-1=4轮,而每一轮中比拟的次数也不一样,第一轮2、3、4、5号元素参与跟1号元素的比拟,共4次,第二轮3、4、5号元素参与跟2号元素的比拟,共3次,以次类推,比拟次数逐步减少。经过四轮的比拟,利用逐步求最小值的方法将5个数从小到大排好序。对于这样一个排序的过程,我们可以使用两个循环分别控制比拟的轮数和每一轮的次数。
程序代码:
Private Sub Command1_Click()
Dim n As Integer
n = InputBox("请输入数组元素的个数:")
Dim a() As Integer, i As Integer, j As Integer
Print "排序前:"
ReDim a(n)
For i = 1 To n
a(i) = Int(Rnd * (99 - 10 + 1) + 10)
Print a(i);
Next i
- -
- -
For i = 1 To n - 1
For j = i To n
If a(i) > a(j) Then
temp = a(i) '交换元素
a(i) = a(j)
a(j) = temp
End If
Next j
Next i
Print
Pri