本帖最后由 naucca 于 2010-08-13 16:53:36 编辑

解决方案 »

  1.   

    不可以,因为你的if外面还有一句话swap(j, j + 1);
    如果没有这句话,可以。另外,你的冒泡排序写的好麻烦。
      

  2.   

    chuchuzinnia,你没看错,是我开始粘贴的没注意,后来改了的,呵呵
      

  3.   

    显然不行,因为当arr[j] > arr[j + 1]不成立的时候,连循环都跳出了
      

  4.   

    也就是说,arr[j] > arr[j + 1]你写在if里面对循环没影响,无论是否成立,循环都会执行下去,但你要是写在for的第二个表达式里面,只要不成立,直接跳出循环,后面的数都不会继续比较了
      

  5.   

    Tassdars正解,谢谢,还是我对for循环中的三个条件理解不透彻