Java实现几种常见排序方法(下)
插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。其具体步骤参见代码及注释。
view plaincopy to clipboardprint?
/**
* 插入排序<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>
* <li>重复步骤2</li>
* </ul>
*
* @param numbers
*/
public static void insertSort
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
oracle
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_S ......
1、set集合是最简单的一种集合,集合中不按指定的方式排序,并且没有重复对象。
2、set接口主要有两个实现类:HashSet和TreeSet
(1)HashSet:是按照哈希算法来进行存取集合中的对象,存取的速度比较快。
(2)TreeSet:实现了SortedSet接口,具有排序的功能。
3、HashSet类是按照哈希算法来存取 ......
package com.chinacache.utils;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
public class FileUtils {
private static final Logger logger = Logger.getLogger(FileUtils.class);
/**
* 移动文件到指定目 ......
好久了,都想向学习JAVA的新人写点东西,因为我实在看不下去了,看不下去很多误导JAVA学习者的观点,遍及天下!网络让好的东西流行,可是往往也让错的东西出现的次数多了变的好像正确了,三人成虎,指鹿为马似乎在网络里更加容易发生,好了废话不说,请看我细细向你道来。
秘密一,学习JAVA好未必可以找到JA ......