VB中的一些问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:20:28
对于插入排序。Private Sub Command1_Click()
Dim intnum() As Integer
Dim intmp As Integer
Dim n As Integer
Dim i As Integer
Dim j As Integer

n = InputBox("请输入排序个数")
ReDim intnum(n)

For i = 1 To n
intnum(i) = InputBox("请输入第" & i & "个数")
Next i

For i = 2 To n
For j = i To 2 Step -1
If intnum(j) < intnum(j - 1) Then
intmp = intnum(j)
intnum(j) = intnum(j - 1)
intnum(j - 1) = intmp
Else
Exit For
End If
Next j
Next i

For i = 1 To n
Print intnum(i);
Next

End Sub

这一段代码,else exit for是否存在对结果没影响但在冒泡排序中
Option Explicit

Private Sub Command1_Click()
Dim intnum() As Integer
Dim inttmp As Integer
Dim n As Integer
Dim i As Integer
Dim j As Integer

n = InputBox("请输入排序元素个数")
ReDim intnum(n)
For i = 1 To n

加上else exit for后当然得不出最后结果了,因为冒泡排序的话,内循环每次都得执行完,才能结束,
如果加上了else exit for后,中间执行过程不满足intnum(j) < intnum(j - 1) 时,会跳出循环,当然也就出错了