int myArray[] = { 25, 15, 20, 5, 10 }; 
int temp = 0; 
for (int i=0; i < myArray.length-1; i++) { 
   if (myArray[i] > myArray[i+1]) { 
      temp= myArray[i]; 
      myArray[i] = myArray[i+1]; 
      myArray[i+1] = temp; 
   } 
}
解释一下 这段代码 怎么我看的很迷惑? 最好能给我写每次执行的过程!

解决方案 »

  1.   


    int myArray[] = new int[]{ 25, 15, 20, 5, 10 };//这里创建一个整型数组 
    int temp = 0; 
    for (int i=0; i < myArray.length-1; i++) { //循环
      if (myArray[i] > myArray[i+1]) { //myArray[i] > myArray[i+1]
          temp= myArray[i];             //把大的值给 temp
          myArray[i] = myArray[i+1];    //然后把小的给前一位置
          myArray[i+1] = temp;           //最后把大的再给后一位置
      } 

    //总的来说就是  把数组从小大到大排序
      

  2.   


    int a[5] = { 25, 15, 20, 5, 10 }; //定义一个一维数组
    int temp,i ;                        //定义一个变量
    for (i=0; i < 5; i++)      //定义一个for循环,循环5次,0-4

      if (a[i] > a[i+1])      //每次都和前一次的比较,(a[1]和a[2]比较,a[2]和a[3]比较,以此类推
         { 
          temp= a[i];      //耗费一个空间的交换算法,目的是吧两个比较下来大的交换位置,一般是大的交换到后面
          a[i] = a[i+1]; 
          a[i+1] = temp; 
         } 

    //总体所以是个排序算法我用c来表示代码,本来这是个算法题,用java多了写没用的反而不好解释