关于冒泡排序为啥我输入的数原封不动的出来了... 哪里出问题
vb吧
全部回复
仅看楼主
level 3
关于冒泡排序
为啥我输入的数原封不动的出来了... 哪里出问题了!
2020年05月10日 15点05分 1
吧务
level 13
' 对数组 MyArray() 进行冒泡排序
' nPD = 1 时升序;nPD = 2 时降序
Public Sub 冒泡(ByRef MyArray(), ByVal nPD As Integer)
Dim i As Integer, j As Integer, k As Integer, T
For i = LBound(MyArray) To UBound(MyArray) - 1
k = i
For j = i + 1 To UBound(MyArray)
If (nPD = 1 And MyArray(j) < MyArray(k)) OR _
(nPD = 2 And MyArray(j) > MyArray(k)) Then
k = j
End If
Next j
If k <> i Then ' 进行交换
T = MyArray(i)
MyArray(i) = MyArray(k)
MyArray(k) = T
End If
Next i
End Sub
' 调用:Call 冒泡(数组名(), 升降序选择数字)
2020年05月11日 00点05分 2
吧务
level 13
对照2楼的算法,请检查一下自己的排序代算法代码。
2020年05月11日 00点05分 3
好的谢谢!
2020年05月11日 07点05分
level 11
看看,混个脸熟....
2020年05月11日 01点05分 4
level 15
因为你根本没有调用过程bubblesort,如果你写了调用语句(bubblesort x),那你的问题就会变成“为啥提示我这个代码出错了啊”[滑稽]
在加上以上的调用语句之后,进一步改正错误的方法(二选一):
1.把arr()改成arr() As Single
2.把arr()的括号去掉,改成arr
2020年05月11日 06点05分 5
啊 那个第二大节不是调用语句吗... (是要把它写到command里面吗??小白真的一脸懵逼[泪]
2020年05月11日 07点05分
@丿在逃歼尸犯丶 那是定义语句,你写了这一大段只是定义了一个过程,要想执行这个过程,还需要写调用它的语句;你可以把bubblesort x这句写在按钮代码的两个循环之间
2020年05月11日 07点05分
@初音✨七奈 好的 我试试[呵呵]
2020年05月11日 07点05分
1