java版本的冒泡算法

文章作者 100test 发表时间 2007:03:14 16:54:26
来源 100Test.Com百考试题网


  class MaoPao
  {
   public static void test1() //最普通的冒泡算法,需要比较(n-1)*(n-1)次
   {
    int[] iArray={10,5,2,3,321,76,3221,98,86,39}.
    int k=0.
    int icount=0.
    for(int j=0.j    {
     for(int i=0.i     {
      if(iArray[i]>iArray[i 1])
      {
       k=iArray[i].
       iArray[i]=iArray[i 1].
       iArray[i 1]=k.
      }
      icount .
     }
    }
    System.out.println("共做比较次数: " icount).
    for(int i=0.i    {
     System.out.print(" " iArray[i]).
    }
   }
   public static void test2() //稍微作了一下改进,加入一个布尔变量,当顺序已经排好后,就不用做额外的比较了
   {
    int[] iArray={10,5,2,3,321,76,3221,98,86,39}.
    int k=0.
    int icount=0.
    boolean b=false.
    for(int j=0.j    {
     b=false.
     for(int i=0.i     {
      if(iArray[i]>iArray[i 1])
      {
       k=iArray[i].
       iArray[i]=iArray[i 1].
       iArray[i 1]=k.
       b=true.
      }
      icount .
     }
     if(!b) break.
    }
    System.out.println("\r\n\r\n共做比较次数: " icount).
    for(int i=0.i    {
     System.out.print(" " iArray[i]).
    }
   }
   public static void main(String[] args)
   {
    test1().
    test2().
   }
  }



相关文章


JAVA基础:谈谈Java语言的垃圾收集器
Java6中新型模态对话框API
java版本的冒泡算法
JAVA基础:Java程序的脏数据问题
Java学习:线程池的简单构建
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛