易截截图软件、单文件、免安装、纯绿色、仅160KB

Java实现几种常见排序方法(下)

 插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。其具体步骤参见代码及注释。
/**
* 插入排序<br/>
* <ul>
* <li>从第一个元素开始,该元素可以认为已经被排序</li>
* <li>取出下一个元素,在已经排序的元素序列中从后向前扫描</li>
* <li>如果该元素(已排序)大于新元素,将该元素移到下一位置</li>
* <li>重复步骤3,直到找到已排序的元素小于或者等于新元素的位置</li>
* <li>将新元素插入到该位置中</li>
* <li>重复步骤2</li>
* </ul>
*
* @param numbers
*/
public static void insertSort(int[] numbers) {
int size = numbers.length, temp, j;
for(int i=1; i<size; i++) {
temp = numbers[i];
for(j = i; j > 0 && temp < numbers[j-1]; j--)
numbers[j] = numbers[j-1];
numbers[j] = temp;
}
}

归并排序是建立在归并操作上的一种有效的排序算法,归并是指将两个已经排序的序列合并成一个序列的操作。参考代码如下:
/**
* 归并排序<br/>
* <ul>
* <li>申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列</li>
* <li>设定两个指针,最初位置分别为两个已经排序序列的起始位置</li>
* <li>比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置</li>
* <li>重复步骤3直到某一指针达到序列尾</li>
* <li>将另一序列剩下的所有元素直接复制到合并序列尾</li>
* </ul>
* 算法参考:<a href="http://www.cnitblog.com/intrl/" mce_href="http://www.cnitblog.com/intrl/">Java部落</a>
*
* @param numbers
*/
public static void mergeSort(int[] numbers, int left, int right) {
int t = 1;// 每组元素个数
int size = right - left + 1;
while (t < size) {
int s = t;// 本次循环每组元素个数
t = 2 * s;
int i = left;
while (i + (t - 1) < size) {
merge(numbers, i, i + (s - 1), i + (t - 1));
i += t;
}
if


相关文档:

java编码解码大全


java中字符串的编码解码问题
1.将字符串转换成byte数组再恢复:
byte[] getBytes(String charsetName)
String(byte[] bytes, String charsetName)
或getBytes()
String(byte[] bytes)
2.使用String sun.misc.BASE64Encode.encode(byte[] b)
byte[] String sun.misc.BASE64Decode.decodeBuffer(String str)
将字符 ......

Java创建线程

 Java使用两种方法来处理多线程
第一种是子类化Thread对象。 Thread对象是Java提供的封装线程的对象。如果子类化Thread类,则必须重载这个类中的run方法以提供由这个特殊线程执行的代码。因为Java不支持多重继承,所以如果你的类需要子类化另一个类,那么就不能子类化Thread对象。
第二种是实现由Java提供的Runnable ......

Java接口

 Java接口自己并不做实际的工作,它为最终做这些工作的方法指定原型。接口的名字一般以able结尾,名字其他的部分说明它如何工作。
当实现一个接口时,必须包含接口要求的方法。对Runnable来说,必须包含run方法。 ......

java中软件开发的假分页和模糊查询的方法

 int pagenum=0;
  int pagesize = 4;
  int nowpage = 1;
String showpage = request.getParameter("page");
  String sdept1 = request.getParameter("selectdept");
 if(showpage!=null){
   nowpage = Convertutil.strtoint(showpage);
  }
......

java JMF


JMF:(JavaTM Media Framework)是处理多媒体的程序接口。
JMF框架主要有三种模型,分别是时间模型,事件模型以及数据模型。时间模型定义了JMF的处理媒体流的时间数据的结构。事件模型定义了JMF框架的事件类型以及各个事件类型之间的关系。数据类型定义了JMF处理的媒体流数据的类型。
时间模型
     ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号