VB选择法排序

VB选择法排序,第1张

Private Sub Command1_Click()

Dim a(1 To 10) As Integer

For i = 1 To 10

a(i) = Int(Rnd * 10)

Print a(i)

Next i

Print

'以上十随机得出10个数

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

End If

Next j

Print a(i)

Next i

Print a(i)

End Sub

I等于1时 就是拿第一位和第二位比较 比较大的的数排后面 然后比较第一位和第三位 For j = i + 1

To 10 直到比较到最后一位

i=2 时也是如此 循环9次就完成排序

5 3 2 7

i=1 时

J=2时 3 5 2 7

J=3时 2 5 3 7

j=4时 2 5 3 7

I=2时

j=3时 2 3 5 7

扩展资料

Private Sub Command1_Click()

Dim a(10) As Integer

Dim b As Integer

Dim i As Integer

Dim j As Integer

Dim k As Integer

For i = 1 To 10

a(i) = Int(Rnd * 90 + 10)

Print a(i)

Next i

Print

For i = 1 To 9

k = i

For j = k + 1 To 10

If a(j) < a(k) Then k = j

Next j

If a(i) > a(k) Then

b = a(i)

a(i) = a(k)

a(k) = b

End If

Next i

For i = 1 To 10

Print a(i)

Next i

Print

End Sub

参考资料:百度百科 - 选择法排序

Private Sub Command4_Click()

  Dim t As clerk, i%, j%

  For i = 0 To n - 1

      For j = i To n - 2

          If a(i).vc >a(j + 1).vc Then

              t = a(i): a(i) = a(j + 1): a(j + 1) = t

          End If

      Next j

  Next i

  Picture2.Cls

  Picture2.Print "学号          姓名           VC            VB"

  Picture2.Print "---------------------------------------------"

  For i = 0 To n - 1

      Picture2.Print a(i).number, a(i).name, a(i).vc, a(i).vb

      Print

  Next i

End Sub

扩展资料

vb数组排序思路:

1、冒泡排序法:

位置相邻两数进行两两比较,在比较时如果发现前面的数比后面的数大,则进行交换,都比较完一轮后,把最大一个数放到最后,如此进行下去即可完成冒泡排序。

2、比较交换法

假设第一个数最小,然后第一个数依次与后面的每个数都进行比较, 若比较时发现后面的数比第一个数小, 则两数位置进行交换, 全部都比较完算一轮,每一轮比较完后,第一个数是最小的数,如此进行即可完成比较排序。

3、选择排序

假设第一个数最小,接着记下最小数所在的位置,然后将最小数依次与后面的每一个数都进行比较,若比较时发现后面的数比最小的数还小,则修改最小数所在位置,全部都比较完算一轮。

每一轮比较完后,最小数所在的位置是否跟假设的是同一个位置,若不是,则最小数与第一个数进行交换位置,如此进行即可完成选择排序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11874887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存