选择排序法

来源:互联网 发布:安徽宝德网络 编辑:程序博客网 时间:2024/06/07 04:52

首先介绍一下代码

Dim a(1 To 10) As Integer

Private Sub Command1_Click()
Form_Load
End Sub

Private Sub Command2_Click()
p = “”

 For i = 1 To 9        '选择排序外循环       For j = i + 1 To 10 '内循环          If a(i) < a(j) Then             t = a(i): a(i) = a(j): a(j) = t    '交换a(i)和a(j)          End If        Next j Next iFor i = 1 To 10  p = p & Str(a(i)) & ","    'p="p a(i)"连接2个字符串NextLabel2.Caption = LTrim(Left(p, Len(p) - 1))    '去掉左边空格的函数

End Sub

Private Sub Form_Load()
Dim p As String

Randomize

p = “”

    For i = 1 To 10       Do          x = Int(Rnd * 91) + 10   '产生随机数          yes = 0          For j = 1 To i - 1      '使产生的数组元素互不相同            If x = a(j) Then yes = 1: Exit For      '当yes=1时退出循环          Next j      Loop While yes = 1

a(i) = x
p = p & Str(a(i)) & “,” ‘连接2个字符串
Next i

Label1.Caption = LTrim(Left(p, Len(p) - 1))
Label2.Caption = “”

End Sub

选择法排序的基本思想

算法描述: 每次在若干个无序数中找出最小数(升序排列),并放在无序数中的第一个位置。假定有下标为0~n的n+1个数的序列,要求按升序排列,实现的步骤如下: (1)从第0个元素开始在n+1个数中找出最小数,并与第0个元素交换位置。 (2)从第1个元素开始在剩余的n个数中找出最小数,并与第1个元素交换位置。 (3)重复(2)依次从3、4…..n+1个元素中找最小、交换直到倒数第2个元素与最后1个元素比较后结束。

舞动的代码点击进入

0 0
原创粉丝点击