黑马程序员技术交流社区

标题: 冒泡排序 [打印本页]

作者: 大西洋    时间: 2015-5-18 20:29
标题: 冒泡排序
一开始把输出语句写在第一个for循环里面,输出结果很奇怪,总是:5 5 5 6 7 1 9 10 12 14 15 17 22 35 ....
出现了好几个 5。。。之前数组里根本没有;后来发现,要在for循环外面再写一个遍历数组的新内容;

  1. public class TestMaoPao {
  2.         
  3.         public static void sortTest(int[] arg){
  4.                 System.out.println(arg.length);
  5.                 int temp = 0;
  6.                 for (int i = 0; i <= arg.length-1; i++) { // 到最后一个就不排序了,如果不减一就会报数组越界
  7.                         for (int j = 0; j < arg.length-i-1; j++) {        // 循环到中间
  8.                                 if (arg[j] > arg[j+1]) {
  9.                                         temp = arg[j];
  10.                                         arg[j] = arg[j+1];
  11.                                         arg[j+1] = temp;
  12.                                 }
  13.                         }
  14.                 }
  15.                 for (int k = 0; k < arg.length; k++) { // 遍历数组                        
  16.                         System.out.print(arg[k]+" ");
  17.                 }
  18.         }
  19.         
  20.         public static void main(String[] args) {
  21.                 int[] ss = {5,6,2,14,3,7,9,50,4,10,17,12,15,1,35,22};
  22.                 sortTest(ss);
  23.         }
  24. }
复制代码

结果:
  1. 16
  2. 1 2 3 4 5 6 7 9 10 12 14 15 17 22 35 50
复制代码




作者: 开到荼靡    时间: 2015-5-18 20:33
好水啊 哥哥。。
作者: 追梦德鲁    时间: 2015-5-18 22:12
前来挽尊 围观大神
作者: sss18310878521    时间: 2015-5-18 22:31
额,数组输出结果是需要遍历的。。。。。
作者: 黄冬    时间: 2015-5-18 22:34
顶一下吧。。。
作者: zhangjnia    时间: 2015-5-18 22:53
哈哈,顶一下楼主
作者: 喻忠航    时间: 2015-5-18 22:56
哇  有学习了一遍冒泡!
作者: 守株人    时间: 2015-5-18 23:45
也不容易,定顶下吧
作者: 夜愿Relax    时间: 2015-5-18 23:56
继续加油加油
作者: 黯然残影    时间: 2015-5-19 00:07
一起学习,加油!
作者: 陈明佳    时间: 2015-5-19 20:29
说得好啊。




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