|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
/** 文件名:MaoPao.java 描述: java版本的冒泡算法 作者:慈勤强 Email:cqq1978@Gmail.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<iArray.length-1;j++) { for(int i=0;i<iArray.length-1;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<iArray.length;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<iArray.length-1;j++) { b=false; for(int i=0;i<iArray.length-1;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<iArray.length;i++) { System.out.print(" "+iArray[i]); } } public static void main(String[] args) { test1(); test2(); } } 返回类别: 教程 上一教程: 扬扬的J2EE学习笔记(五)Installing J2EE SDK(安装J2EE SDK) 下一教程: Java 性能优化技巧集锦 (5) 您可以阅读与"java版本的冒泡算法"相关的教程: · java版本的二分法算法实现 · JAVA MD5算法返回数字型字串 · Java API之算法 · java实现的18位身份证格式验证算法 · java MD5算法返回数字型字串 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |