问题描述
Fori=0Toarr.Length-1DimtempAsInteger=arr(i)j=i+1While((j>0)And(arr(j-1)>=temp))arr(j)=arr(j-1)j=j-1EndWhilearr(j)=tempNexti
解决方案
解决方案二:
当i=arr.Length-1时j=arr.Length,此时arr(j)就越界了
解决方案三:
Fori=1Toarr.Length-1DimtempAsInteger=arr(i)j=iWhile((j>0)And(arr(j-1)>=temp))arr(j)=arr(j-1)j=j-1EndWhilearr(j)=tempNexti这样的写法也会越界.应该怎么写??
解决方案四:
Fori=0Toarr.Length-1DimtempAsInteger=arr(i)j=i+1While((j>0)And(arr(j-1)>=temp))arr(j)=arr(j-1)j=j-1EndWhilearr(j)=tempNexti你是在做一个排序工作吗?
解决方案五:
dui
解决方案六:
arraylist本身带有排序的程序,自己查查看
解决方案七:
While((j>0)And(arr(j-1)>=temp))当J=0的时候,系统就提示越界了,因为系统不是判断J>0后就不判断arr(j-1)>=temp了,而是两个条件都处理。所以J=0的时候就出错了。你可以跟踪下J的值,提示越界的时候J应该已经为0了。
解决方案八:
引用6楼yanlongwuhui的回复:
While((j>0)And(arr(j-1)>=temp))当J=0的时候,系统就提示越界了,因为系统不是判断J>0后就不判断arr(j-1)>=temp了,而是两个条件都处理。所以J=0的时候就出错了。你可以跟踪下J的值,提示越界的时候J应该已经为0了。
那用andAlso
时间: 2024-09-11 17:35:02