java排序算法汇总
这段时间正在找工作,研究了一下算法。我是做web开发的,但是比较喜欢算法的,所以就总结了一下,觉得仍有很多不足,请大家多多指教。如果有合适的工作也挺推荐推荐的。我做开发已经三年了。我的邮箱:zlljsf@gmail.com
排序算法超类:
/**
* 排序算法超类
* 所有排序序列中元素必须实现java.lang.Comparable接口
* @author Liangliang Zhang
*
* @param <E>
*/
public abstract class Sort<E extends Comparable<E>> {
/**
* 排序类中均要实现的排序方法
* @param array 排序序列
* @param from 排序序列开始位置
* @param len 排序序列长度
*/
public abstract void sort(E[] array, int from, int len);
public final void sort(E[] array){
sort(array, 0, array.length);
}
/**
* 经典调换
* @param array
* @param from
* @param to
*/
protected final void swap(E[] array, int from, int to){
E temp = array[from];
array[from] = array[to];
array[to] = temp;
}
}
折半插入排序:
/**
* 算法名称:折半插入排序(Binary Insert Sort)
* 折半插入排序的核心思想是:1、找出插入位置在低半区还是高半区,以顺序为例,假如
* 序列有8个元素,则是找出插入位置是前四个还是后四个而非全部
* 2、找到插入位置后,顺序移动,前提前面元素是有序的
* @author Liangliang Zhang
*
*/
public class BinaryInsertSort<E extends Comparable<E>> extends Sort<E>{
@Override
public void sort(E[] array, int from, int len) {
for(int i = from + 1; i < len; i++){
E temp = array[i];
int low = from + 1;
int high = i - from + 1;
while(low <= high){
int mid = (high + low)/2;
if(temp.compareTo(array[mid]) < 0){
high = mid -1;
}else{
low = mid + 1;
}
}
int j = i - 1;
//这样移动保持序列一直是有序的
for(; j >= high && temp.compareTo(array[j]) == -1; j--){
array[j + 1] = array[j];
}
array[j + 1] = temp;//抵充j--
}
}
}
希尔排序:
import java.util.ArrayList;
import java.util.List;
/**
* 算法名称:希尔排序(Shell's Sort
相关文档:
一、什么是Java事务
通常的观念认为,事务仅与数据库相关。
事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败 ......
一 线程的基本概念
线程是一个程序内部的顺序控制流.一个进程相当于一个任务,一个线程相当于一个任务中的一条执行路径.;多进程:在操作系统中能同时运行多个任务(程序);多线程:在同一个应用程序中有多个顺序流同时执行;Java的线程是通过java.lang.Thread类来实现的;JVM启动时会有一个由主方法(public static void main( ......
http://blog.sina.com.cn/s/blog_503cf9f80100b9lf.html
java时间函数(2008-12-06 22:25:46)
<> 标签:杂谈
注意:java.util和java.sql中都有Date这个类,不知道用哪一个了,你可以写死java.sql.Date time = .....
1. Java计算时间依靠1970年1月1日开始的毫秒数. &nbs ......
import java.awt.*;
import java.awt.event.*;
//俄罗斯方块类
public class ERS_Block extends Frame{
public static boolean isPlay=false;
public static int level=1,score=0;
public static TextField scoreField,levelField;
public static MyTimer timer;
Ga ......
参考配置文件
# 示例配置参考,涵盖几乎所有的主流数据库
############# Oracle数据库 ########################
# 数据库驱动名
driver=oracle.jdbc.driver.OracleDriver
# 数据库URL(包括端口)
dburl=jdbc:oracle:thin:@127.0.0.1:1521:zvfdb
# 数据库用户名
user=root
#& ......