定义一个q1,初始值僭轿魍儿为a(0),每次判断a(j)>a(j+1)成立时,q1=j
此时鳎溻趄酃q1就为所求位置,但是初始位置是0,所以要准确时q1=q1+1
如下所示:
PrivateSubCommand1_Click()
Cls
Dima(1To10)AsInteger,b(1To10)AsInteger,workAsBoolean,iAsInteger,jAsInteger,
xAsInteger
Randomize
Fori=1To10
a(i)=Int((90*Rnd)+10)
Printa(i)
b(i)=a(i)
Nexti
Fori=10To2Step-1
work=True
Forj=1Toi-1
Ifa(j)>a(j+1)Then
x=a(j)
a(j)=a(j+1)
a(j+1)=x
work=False
EndIf
Nextj
IfworkThenExitFor
Nexti
Text1.Text=a(10)
Fork=1ToUBound(a)
Ifb(k)=a(10)Then
MsgBox"原来位置:"&k,64,"提示!"
ExitFor
EndIf
Nextk
扩展资料:
有两种方法定义数组:
知道数组的元素个数,那么直接定义。
dima(9)asinteger
暂时不知道元素个数,或者该数组应用在多个地方,那么如下定义。
dima()asinteger
在使用的时候,再重定义一下就可以了。
ReDima(9)
数组的类型可以和变量的类型一样的。
dima(0to9)asstring'表示定义了一个包含10个元素的字符串型的数组,数组名为:a
参考资料来源: