家居饰品摆件实体店:VB冒泡法排序

来源:百度文库 编辑:高校问答 时间:2024/04/28 15:21:27
谁能告诉我VB环境中冒泡法排序怎么编?
最好能在VB中把过程演示出来

对数组理的六个数,用冒泡事这样的:
For i=1 To n-1 '进行N-1轮比较
For j=n To i +1 Step -1'从N-I个元素开始进行两两比较
if iA(j)<iA(j-1)Then'若自序不对,则马上进行交换位置
t=iA(j)
iA(j)=iA(j-1)
iA(j-1)=t
End if
Next j'出了内循环,一轮排序结束,最小数已冒到最上面
Next i
原始数据8 6 9 3 2 7
a(1)a(2)a(3)a(4)a(5)a(6)第1次排序2 8 6 9 3 7
a(2)a(3)a(4)a(5)a(6)第2次排序2 3 8 6 9 7
a(3)a(4)a(5)a(6)第3次排序2 3 6 8 7 9
a(4)a(5)a(6)第4次排序2 3 6 7 8 9
a(5)a(6)第5次排序2 3 6 7 8 9

假设有一组整形数据 value(n), 从小到大排序
dim i,j,t
for i=1 to n
for j=i to n
if value(i)>value(j) then
t = value(i)
value(i) = value(j)
value(j) = t
end if
next j
next i

(这是从大排到小的)

Private Sub Command1_Click()
Dim a() As Integer, k As Integer, t As Integer
k = InputBox("请输入排序的个数:")
ReDim a(k)
For n = 0 To k - 1
a(n) = InputBox("请输入数字")
Next n

For j = 0 To k - 1
For i = 0 To k - 1
If a(i) < a(i + 1) Then
t = a(i)
a(i) = a(i + 1)
a(i + 1) = t
End If
Next i
Next j

For n = 0 To k - 1
Print a(n)
Next n
End Sub

(这是从小排到大的)
Private Sub Command1_Click()
Dim a() As Integer, k As Integer
k = InputBox("请输入排序的个数:")
ReDim a(k)
For n = 0 To k - 1
a(n) = InputBox("请输入数字")
Next n

For j = 0 To k - 1
For i = 0 To k - 1
If a(i) > a(i + 1) Then
a(k) = a(i)
a(i) = a(i + 1)
a(i + 1) = a(k)
End If
Next i
Next j

For n = 0 To k - 1
Print a(n)
Next n
End Sub