java插入排序,说我java.lang.ArrayIndexOutOfBoundsException,但我检查了一下发现我的数组并没有溢出啊
//前面定义过一个intarr【】的数组publicvoidinsertsort(){for(inti=1;i<arr.length;i++){intj=i-1;intt...
//前面定义过一个int arr【】的数组
public void insertsort()
{
for(int i=1;i<arr.length;i++)
{
int j=i-1;
int temp=arr[i];
while(arr[j]>temp&&j>=0)
{
arr[j+1]=arr[j];
j--;
}
arr[j+1]=temp;
}
} 展开
public void insertsort()
{
for(int i=1;i<arr.length;i++)
{
int j=i-1;
int temp=arr[i];
while(arr[j]>temp&&j>=0)
{
arr[j+1]=arr[j];
j--;
}
arr[j+1]=temp;
}
} 展开
3个回答
2014-09-12
展开全部
程序流程对不对我没细看 但是这一句 while(arr[j]>temp&&j>=0) 肯定是不行的 , 你应该先判断
j >= 0 然后才能使用 arr[j]
j >= 0 然后才能使用 arr[j]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while(arr[j]>temp&&j>=0)
{
arr[j+1]=arr[j];
j--;
}
j = 0的时候 ,循环之后j-- 有可能等于-1
arr[-1] 问题不少
{
arr[j+1]=arr[j];
j--;
}
j = 0的时候 ,循环之后j-- 有可能等于-1
arr[-1] 问题不少
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询