黑马程序员技术交流社区

标题: 冒泡排序中的书写顺序 [打印本页]

作者: 来男.    时间: 2014-4-27 15:37
标题: 冒泡排序中的书写顺序
本帖最后由 来男. 于 2014-4-27 17:08 编辑

class Demo{
public static void bubleSort(){
for(int x=0;x<arr.length-1;x++){
  for(int y=0;y<arr.length-1-x;y++){  //?
   if(arr[y]<arr[y+1]){
    int temp=arr[y];
    arr[y]=arr[y+1];
    arr[y+1]=temp;
   }
  }
}
}


public static void main(String[] args){
int[] arr={5,1,6,4,2,8,9};

//排序前
System.out.println(arr);

//排序中
bubleSort(arr);

//排序后
System.out.println(arr);
}
}


“?”处我知道-1是防止角标越界,-x是减少每次的比较元素,
但老师强调格式应为:-1-x(最好不是-x-1,但熟了可以),这其中的缘由能否讲一下?
我听着这儿的是否有点懵。


作者: 菜小徐    时间: 2014-4-27 16:00
我认为可能就是为了看起来清楚一些,毕竟你的代码也是要给别人看的
作者: 展展    时间: 2014-4-27 21:11
其实length-1-x和length-x-1是一样的,但是为了方便记忆我们都是length-1-x,一般遍历一个数组我们都是:
for(int x=0;x<length-1;x++)
到冒泡法排序的for嵌套,外层是length-1里层是length-1-x这样不是更好的记忆吗?其实还是看个人爱好拉,记住就行
作者: 来男.    时间: 2014-4-27 23:07
展展 发表于 2014-4-27 21:11
其实length-1-x和length-x-1是一样的,但是为了方便记忆我们都是length-1-x,一般遍历一个数组我们都是:
f ...

谢谢!我再想想吧,不过我是记住它了。
作者: ς高眼光の目标    时间: 2014-4-28 02:57
一样的,可能这样写顺眼点吧
作者: 東少    时间: 2014-4-28 03:25
都差不多 理解就好




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2