重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Private Sub Command1_Click()
成都创新互联公司是专业的凉城网站建设公司,凉城接单;提供成都网站建设、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行凉城网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
Dim a(1 To 100) As Integer
Dim i As Integer, j As Integer, k As Integer
For i = 1 To 100 '给数组a一百个元素赋值,并换每行十个数字输出来窗体上
a(i) = Int(Rnd * 101)
k = k + 1
Print Tab((k - 1) * 5); a(i);
If k = 10 Then k = 0: Print
Next i
For i = 100 To 2 Step -1 '用冒泡排序法对数组进行排序
For j = 1 To i - 1
If a(j) a(j + 1) Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
End If
Next j
Next i
For i = 1 To 100 '输出排好序的数组
k = k + 1
Print Tab((k - 1) * 5); a(i);
If k = 10 Then k = 0: Print
Next i
End Sub
设要排序的数组为a(n)for
j=1
to
n-1'外循环for
i=
j+1
to
n‘内循环if
a(j)a(i)
then’分别比较第i和其后所有个元素,若第i个元素大于第j个元素则交换,相当于把最小的移到第一个,即冒泡到最上个
t=a(i)a(i)=a(j)a(j)=tnext
inext
jend
ifnext
n内循环一次保证最小的元素移到最前,下次排序只需要从第j+1个元素开始就行
试试看:
For i = LBound(moto) To UBound(moto) - 1
For j = LBound(moto) To UBound(moto) - 1 - i
If moto(j) moto(j + 1) Then
t = moto(j)
moto(j) = moto(j + 1)
moto(j + 1) = t
End If
Next j
Next i
For i = LBound(moto) To UBound(moto)
Print moto(i);
Next i
呵呵。
这个不难理解啊,冒泡法就是先取最大的然后依次往下,排完后就是从大到小,比如1,2,3,4,5
外层就是从第一位到第五位,比较第一位。从头到尾的选
5最大,放到第一位,就变成5,1,2,3,4,下一轮,因为5已经选
出来了,第一位就不用比了。只有1.2.3.4,这下就只有四位了,次数就是n-i了。到了第几位只跟他后面的几位比,前面的不管,所以。。不知道你明白没
外层就是从1-5,每位操作一次,内层就是从外层选定的位置开始,向后比较。
For
i
=
1
To
50
For
j
=
i
To
50
If
aa(i)
aa(j)
Then
kk
=
aa(i)
aa(i)
=
aa(j)
aa(j)
=
kk
End
If
Next
Next
如果五个号码为数组元素(1)到(5),正确的排序过程:
对于i = 1至4
对于L = 1到5 - 如果A(L)(L +1)
N = A(L)
A(L),= A(L +1)
(L +1) =
结束如果下一页l
接下来,我
能够到第一台计算机来验证结果,然后分析程序。