帮忙解释这段代码

来源:百度知道 编辑:UC知道 时间:2024/05/23 18:54:24
这是书上的一道例题,是讲“直接排序法”的一段代码
请高人帮我解释。谢谢
option base 1
dim sort(10) as integer,temp as integer
dim i as integer, j as integer
dim pointer as integer
for i = 1 to 10 '这个I是循环次数,我知道的
sort(i) = int(rnd*(100-1)+1)
text1= text1 & str(sort(i))
next i
for i = 1 to 9
pointer=i '那这个I是什么???
for j = i+1 to 10 '这个I又是什么??
if sort(pointer) > sort(j) then
pointer = j
end if

Option Base 1 '在模块级别中使用,用来声明数组下标的缺省下界。
Dim sort(10) As Integer, temp As Integer
Dim i As Integer, j As Integer
Dim pointer As Integer

For i = 1 To 10 '这个I是循环次数,我知道的
'没错,是控制生成10个数字的e
sort(i) = Int(Rnd * (100 - 1) + 1) '生成1到100之间的10个随机数
Text1 = Text1 & Str(sort(i)) '将生成的数字显示在文本框中
Next i

For i = 1 To 9 '这个i也是用来控制循环的次数的1
pointer = i '那这个I是什么??? '是用来记录要比较的数字的数组下标,10个数字需要循环10次逐一进行比较
'第一次是1,即用sort(1)来做跟其他的数字比较大小

'这儿似乎短了一个记录数组下标的变量,用来记录需要交换的位置

For j = i + 1 To 10 '这个I又是什么?? '这个i就是上面出现的pointer = i中的i,将i+1赋值给j的
'亦即用来首先比较sort(i) 与 sort(i+1) 的大小
'但是由于提问者没有明确告知是按升序还是降序排列,所以无法做出进一步判断

If sort(pointer) > sort(j) Th