黑马程序员技术交流社区
标题:
求大神指点
[打印本页]
作者:
你好我是潘机智
时间:
2015-3-23 09:24
标题:
求大神指点
public static void maoPaoPaiXu(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=0;y<arr.length-x;y++)
{
if(arr[y]<arr[y+1])
{
int i=arr[y];
arr[y]=arr[y+1];
arr[y+1]=i;
}
}
}
}
在同一类里定义的函数 选择排序可以用 冒泡排序用不了
应该不是其他的原因 就是代码的问题 求各位大神指点 这段代码哪儿错了
作者:
殷俊
时间:
2015-3-23 09:34
内层for循环y是y<arr.length-x-1;
作者:
艺多不压身丶
时间:
2015-3-23 09:34
本帖最后由 艺多不压身丶 于 2015-3-23 09:36 编辑
public static void maoPaoPaiXu(int[] arr)
{
for(int x=0;x<arr.length;x++)
{
for(int y=0;y<arr.length-x-1;y++)
{
if(arr[y]<arr[y+1])
{
int i=arr[x];
arr[x]=arr[y];
arr[y]=i;
}
}
}
}
复制代码
作者:
z1342802487
时间:
2015-3-23 09:53
public static void maoPaoPaiXu(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=0;y<arr.length-1-x;y++)//此处arr.length-x最大等于数组长度减一,但下面还有arr[y+1]会抛出ArrayIndexOutOfBoundsException:
{
if(arr[y]<arr[y+1])
{
int i=arr[y];
arr[y]=arr[y+1];
arr[y+1]=i;
}
}
}
}
复制代码
作者:
你好我是潘机智
时间:
2015-3-23 10:26
殷俊 发表于 2015-3-23 09:34
内层for循环y是y
多谢多谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2