VB给几个数字排序,代码该怎么写?

来源:百度知道 编辑:UC知道 时间:2024/05/17 08:24:01
数组ABC(100002,100001,100021,100008,100016,100011)
请对其排序输出。
不管是升续还是降续都可以的

'Form中放一个text1,设置multiline=true,scrollbars=2

Dim a()
n = InputBox("输入数据个数")
ReDim a(n)

For i = 1 To n
a(i) = InputBox("输入数据" & i)
Next

For i = 1 To n - 1
p = i
For j = i + 1 To n
If a(p) > a(j) Then p = j
Next j
t = a(i): a(i) = a(p): a(p) = t
Next i

Text1 = Text1 & "结果" & vbCrLf
For i = 1 To n
Text1 = Text1 & a(i) & vbCrLf
Next

给你个最简单的没有优化的冒泡排序的程序,上次给别人解答问题的时候写的。

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