php 字符串反转函数:求您解释一句vb代码

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/27 19:25:09
For i = 1 To 9
For j = i + 1 To 10
If a(i) > a(j) Then
t = a(i): a(i) = a(j): a(j) = t '交换位置
End If
Next j
Next i
这段代码是如何在程序输出时实现小的数在前大的数在后的 谢谢

比如a数组内有10个数字:1,6,7,4,9,10,5,3,2,8

运行程序后第一次运算时,i=1,j=2
进入循环后第一次判断的a(i)和a(j)分别是1和6
由于a(i)此时小于a(j),所以程序跳至end if后继续执行。

第二次运算时i=2,j=3
第二次判断的a(i)和a(j)分别是6和7
由于a(i)此时还是小于a(j),所以程序依然跳至end if后继续执行。

第三次运算时i=3,j=4
第三次判断的a(i)和a(j)分别是7和4
此时a(i)的值大于a(j),符合If a(i) > a(j) Then 这条语句的要求
于是进入t = a(i): a(i) = a(j): a(j) = t '交换位置 这段
执行后两个数字交换了,此时的数组内容如下:
1,6,4,7,9,10,5,3,2,8
和原来的数组相比较
1,6,7,4,9,10,5,3,2,8
可以看出第3个数字和第4个数字的内容已经通过t = a(i): a(i) = a(j): a(j) = t这条命令转换了。

以此类推,最终的结果就是按照1~10的顺序排列的数组

10个数比较,如果前面的数大于后面的数,就交换他们的位置,否则就比较后面一个数
如:
a1和a2比,如果a1>a2,那么用第三个变量t来交换他们的位置,如果a1<a2, 那么就继续比较a1和a3,直到a1和a10.
再下来是a2和a3,直到a2和a10
最后就是a9和a10了

这是10个数按 从 小到大的顺序排列
For i = 1 To 9 把i从1 开始附值
For j = i + 1 To 10
If a(i) > a(j) Then 如果一个数大于它的下一个数,
t = a(i): a(i) = a(j): a(j) = t ' 这两个数就交换位置. 列 a(1)是4,a(2)是3,那么,这个语句执行之后,就变成了a(1)是3,....
End If 对应if
Next j 对应 for
Next i 对应for