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
相关文档:
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);
}
......
以下是需要获得配置文件的类,其中获得 /config.properties 文件的数据
package com.chinacache.boss.queryservice.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.apache.log4j.Logger;
public final class ConfigConstant {
static Logger logg ......
JMF:(JavaTM Media Framework)是处理多媒体的程序接口。
JMF框架主要有三种模型,分别是时间模型,事件模型以及数据模型。时间模型定义了JMF的处理媒体流的时间数据的结构。事件模型定义了JMF框架的事件类型以及各个事件类型之间的关系。数据类型定义了JMF处理的媒体流数据的类型。
时间模型
......
宏天软件作为一个技术实力雄厚的软件技术公司,支持国内开源的工作,整合国际J2EE先进的开源技术,把公司自主研发的的J.Office
OA平台开放源代码,使用用户能够看得见并根据自己的实际情况修改源代码使之为己所用,在如此激烈的竞争环境中,只有商业软件、开源软件以及服务为导向的
软件等多种模式共享,并相互借 ......
前一段需要用短信猫发送短信,写了一段短信猫发送短信的代码:
import javax.comm.*;
import java.util.*;
import java.io.*;
import org.smslib.*;
public class smsModem
{
private static LinkedList<COutgoingMessage> msgList = new LinkedList<COutgoingMessage>();
&n ......