+ -
当前位置:首页 → 问答吧 → 这道排序问题出错了,请高手修改。

这道排序问题出错了,请高手修改。

时间:2011-09-12

来源:互联网

Option Explicit
Option Base 1
Private Sub Command1_Click()

Dim i, j, t, n As Long
n = 7
Dim a(7) As Long
For i = 1 To n
  a(i) = Array(1, 3, 4, 9, 18, 2, 8)
  Text1.Text = Text1.Text + Str(a(i))
Next i
For i = 1 To n - 1
For j = 1 To n - i
If a(j) > a(j + 1) Then
t = a(j)
a(j) = a(j + 1)
a(j + 1) = t
End If
Next
Next
For i = 1 To n
Text2.Text = Text2.Text & Str(a(i))
Next

不知道哪里出错啦。请高人指点。

作者: QQ472152323   发布时间: 2011-09-12

array必须赋值给变体类型,给你改了一下,使用冒泡排序

Private Sub Command1_Click()

  Dim i, j, t, n As Long
   
  Dim A() As Long
   
  n = 100
   
  ReDim A(n)
   
  Randomize
  For i = 1 To n
  A(i) = Rnd * n
  Text1.Text = Text1.Text + CStr(A(i))
  Next i
   
  For i = n To 2 Step -1
  For j = 1 To i - 1
  If A(j) > A(j + 1) Then
  t = A(j)
  A(j) = A(j + 1)
  A(j + 1) = t
  End If
  Next
  Next
   
  For i = 1 To n
  Text2.Text = Text2.Text & Str(A(i))
  Next
End Sub

作者: worldy   发布时间: 2011-09-13

热门下载

更多