Java 冒泡排序
/**
* 交换排序-冒泡排序,核心思想 以大小为依据交换
*
* */
public void bubbleSort(double[] a){
//将要进行比较的数大的尽量往后排,每次循环把最大的排在要排序数组的末位。
boolean hasSwap = true;
for(int i = 1; i < a.length&& hasSwap; i ++){//循环的次数
hasSwap = false;//记录此次比较是否存在位置交换,若不存在则证明余下的数组元素已经拍好序。
for(int j = 0;j < a.length - i; j ++){//比较
if(a[j] > a[j+1]){
double temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
hasSwap = true;
}
}
}
}
Java排序算法系列--交换排序之冒泡排序
相关文档:
//** **********创建工作簿************ */
WritableWorkbook workbook = Workbook.createWorkbook(new File("d:/test.xls"));
/** *//** **********创建工 ......
从本系列前面的文章中,您了解到反射的性能比直接访问要慢许多倍,并了解了用 Javassist 和 Apache
Byte Code Engineering Library (BCEL)进行classworking。Java 顾问 Dennis
Sosnoski 通过演示如何使用运行时 classworking,来用全速前进的生成代码取代反射代码,从而结束他的 Java 编程的动态性
系列。
既然您已经 ......
在经过一段时间的休息之后,Dennis Sosnoski 又回来推出了他的
Java 编程的动态性
系
列的第 5 部分。您已在前面的文章中看到了如何编写用于转换 Java 类文件以改变代码行为的程序。在本期中,Dennis将展示如何使用
Javassist
框架,把转换与实际的类加载过程结合起来,用以进行灵活的“即时”面向方� ......
命令行参数处理是一项令人厌烦的零碎工作,不管您过去已经处理过多少次了,它好像总能重新摆在您的面前。与其一遍又一遍地编写同
一块代码的不同变种,为什么不利用反射来简化参数处理的工作呢?Java 顾问 Dennis Sosnoski
向您展示了如何做到这一点。在本文中,Dennis 简明扼要地介绍了一个开源库,这个库可以使得命令行 ......
反射使您的程序代码能够接入装载到JVM中的类的内部信息,允许您编写与执行时,而不是源代码中选定的类协作的代码。这使反射成
为构建灵活的应用的主要工具。但需注意的是 --如果使用不当,反射的成本很高。在Java平台系列的第2部分中,软件顾问Dennis
Sosnoski介绍了如何使用反射,以及某些相关的成本。您还将找到JavaRef ......