VB冒泡法排列10个数,求最简单易懂的编程方法!
谢谢了,能把代码也写出来吗?我有好几年没看VB了,现在要考试,一下子复习很难!写的详细点好吗!
Private Sub Form_Load()
''这是用VB给你一个冒泡祥贺最简单的例子,从大到小排
Dim A(10) As Integer
Dim i, j, n, t As Integer
n = 10
Randomize
Debug.Print "初始的谨含派数组A"
For i = 1 To n
A(i) = Int(Rnd() * 5000)
Debug.Print A(i)
Next i
''''排序开始
For i = 1 To n - 1
For j = n To i + 1 Step -1
If A(j) > A(j - 1) Then'''判断a(j)与a(j-1)谁大,把大的放到前边
t = A(j)
A(j) = A(j - 1)
A(j - 1) = t
End If
Next j
Next i
''''排序结老扰束
Debug.Print "有序的数组A"
For i = 1 To n
Debug.Print A(i)
Next i
''如果要从小到大排就把"A(j) > A(j - 1)"改称"A(j) < A(j - 1)"
End Sub
是要方法还是要代码? 代码书上有,方法在这里:
举例10个数:
5 6 7 1 2 3 4 8 9 10
1)定义1个10位数组或10个变量,A1,A2....A10
2) 取第1和第2的两伍顷个数,比较,谁大就取谁,
3)然后宽橘雹,这个数和第3个数比较,谁慎帆大就取谁,一直做到第10个数
4)做完第10个数后,这个数保证是最大的,于是存入A1变量里。
5)重复,做剩下9个数,直至做剩下2个数为止。
假定数组亏埋A(1 TO 10)包含10个数:
for I=1 to 9
for J=1 to 10-I
if A(J)>A(J+1) THEN
TR=A(J)
A(J)=A(J+1)
A(J+1)=TR
END IF
NEXT J
NEXT I
这样岩春就以销枣蚂小到大排列了。
if A(J)>A(J+1) THEN
TR=A(J)
A(J)=A(J+1) \这部分是碧塌什么意思啊!
A(J+1)=TR \这部分伏慧带是什么意思啊缺芦!
这两部分是什么意思!请教下大家!
定义两个循环。。