Java 几种排序法
这里主要对8种排序算法做个总结,分别是插入排序,选择排序,冒泡排序,希尔排序,归并排序,堆排序,快速排序以及基数排序。
1、 插入排序
比较和交换的时间复杂度为O(n^2),算法自适应,对于数据已基本有序的情况,时间复杂度为O(n),算法稳定,开销很低,适合于数据已基本有序或者数据量小的情况。
public void insertionSort() {// 插入排序
int out, in;
int count1 = 0, count2 = 0;// 复制次数,比较次数
for (out = 1; out < nElems; out++) {
long temp = a[out];
in = out;
boolean flag=in>0&&a[in-1]>=temp;
while(flag){
if(a[in-1]>=temp){
if(in>0){
a[in]=a[in-1];
count1++;
--in;
}
}
count2++;
flag=in>0&&a[in-1]>=temp;
}
a[in] = temp;
}
System.out.println("复制次数为:" + count1 + " 比较次数为:" + count2);
}
2、 选择排序
算法不稳定,O(1)的额外的空间,比较的时间复杂度为O(n^2),交换的时间复杂度为O(n),并不是自适应的。在大多数情况下都不推荐使用。只有在希望减少交换次数的情况下可以用。
public void selectionSort(){//选择排序
int out, in, min;
for(out=0;out<nElems-1;out++){
min=out;
for(in=out+1;in<nElems;in++){
if(a[in]<a[min]){
min=in;
}
swap(out,min);
}
}
}
3、 冒泡排序
算法稳定,O(1)的额外的空间,比较和交换的时间复杂度都是O(n^2),自适应,对于已基本排序的算法,时间复杂度为O(n)。冒泡算法的许多性质和插入算法相似,但对于系统开销高一点点。
public void bubbleSort() {// 冒泡排序,单项
int out, in;
相关文档:
然jacob中也有关于PDF的方法,但是过于复杂。iText是一个开源的PDF工具,小巧而又便捷。
官方网站是:http://www.lowagie.com/iText/
官方的解释:iText is a library that allows you to generate PDF files . the fly
最新版本为:2.1.5
下载地址是:http://nchc.dl.sourceforge.net/sourceforge/itext/iText-2.1.5.j ......
Java iText 动态 生成 PDF 文档 表格 中文问题
iText是一个开发源代码的项目,你可以使用iText方便的实现PDF的输出。
一、iText的下载:
你可以在 http://www.lowagie.com/iText/ 查看关于iText的相关信息,包括源代码,文档..
1. itext-src-1.4 ......
JDK
Sun JDK
http://java.sun.com/javase/downloads/index.jsp
IBM JDK
http://www.ibm.com/developerworks/java/
http://www.ibm.com/developerworks/cn/java/
IDE:
Eclipse
http://www.eclipse.org/
Container:
Apache HTTP server
http://www.apache.org/
Tomcat: JSP,Servlet,JavaBean container.
http:// ......
貌似比较多,不过多懂点,也没什么不好。
1、熟悉jdbc,会用jdbc。
2 会写sql和存储过程。
3、熟悉swing控件、不过不建议用swing开发客户端
4 熟悉 swt,rcp 客户端,建议用rcp开发客户端
5 熟悉jsp servlet
6 熟悉tomcat,至少知道web。x ......