怎么才能写一个数组排序的过程,过程名是sort,这个过程要有
vb吧
全部回复
仅看楼主
level 11
怎么才能写一个数组排序的过程,过程名是sort,这个过程要有通用性
2020年11月21日 00点11分 1
level 11
为什么要排序的数据多了会有重复的怎么解决
2020年11月21日 01点11分 2
level 11
2020年11月21日 01点11分 3
level 15
你这个过程要是这么写,那完全用不着参数,n也是全局变量呢,用得着你传参么……而且说好的是排序,怎么连产生原始数据的工作也要做啊[滑稽]
要避免数据多了会产生重复的问题,需要在产生数据的循环当中加上这个功能,比如改成这样:
ReDim a(n) '这个ReDim没有写在循环内的必要,移到前面来
For i = 1 To n
a(i) = Int(Rnd * 100 + 1)
For j = 1 To i - 1 '循环依次与前面的数比较
If a(i) = a(j) Then '如果出现了重复
i = i - 1 '则这个数作废,回退一位重来一次
Exit For '及时退出内层循环,否则当j循环到等于i时(i已经减1了,但j还会循环到原来的i-1,也就是现在的i),a(i)=a(j)条件必然成立,会导致i额外减1
End If
Next j
Next i
2020年11月21日 02点11分 4
1