public void sort(int[]array){            for(int i = 1;i<array.length;i++){
                for(int j = 0;j<array.length-i;j++){
                    if(array[j]>array[j+1]){
                        int temp = array[j];
                        array[j] = array[j+1];
                        array[j+1] = temp;
              }
        }
}求高手给我细致细致很细致解释一下上面的代码,主要是两个for循环,希望里面的每一项都能解释一下,看得快哭了呀能结合实例再分析一下代码就更好了,谢谢了!
冒泡排序

解决方案 »

  1.   

    不用解释,教你个办法
    public void sort(int[]array){             for(int i = 1;i<array.length;i++){
                     for(int j = 0;j<array.length-i;j++){
                         if(array[j]>array[j+1]){
                             int temp = array[j];
                             array[j] = array[j+1];
                             array[j+1] = temp;
                     }
                 在这里添加代码,将每趟排序后的数组输出出来
             }
     }
    然后你就明白了。
      

  2.   

    主要是循环你看不明白乱了,建议你去google看看这个算法的流程图,然后结合到你的代码,很快你就会明白的,还有其他的排序算法都是可以用同样的方法理解,
      

  3.   

    http://sjjg.js.zwu.edu.cn/SFXX/sf1/mppx.html
      

  4.   

    public class ForDemo {
      public static void main(String args[]){
      for(int i=1;i<4;i++){    外循环控制的是行数
      for(int j=0;j<4;j++){ 内循环控制的是每行的个数
      System.out.print("*");
      }
      System.out.println();
      }
      
      }
    }
    比如length=4,外循环开始i=1 内循环开始,j=0~~~j=3 内循环结束(到这算一次)
    外循环开始i=2~~~~~~~~~~~~~~~
    一直这样循环到i=3,i<arr.length,i++       因为length=4, 所以循环到此结束 
    输出结果为:
    ****
    ****
    ****
      

  5.   

    记得那老师教的是:外层循环n-1,内层循环n-1-i记住这个法则就好了