public class InseartSort {
/**
* @param sort 升序
* @return
*/
public void inseartSort(ArrayList<Integer> sort) {
if (sort == null || sort.size() == 0) {
throw new NullPointerException();
}
int temp = 0;
for (int i = 1; i < sort.size(); i++) {
for (int j = i; j > 0; j--) {
if (sort.get(j) < sort.get(j - 1)) {
temp = sort.get(j - 1);
sort.set(j - 1, sort.get(j));
sort.set(j, temp);
break;
}
}
}
}
}
测试:
public static void main(String[] args) {
/************排序**********/
ArrayList<Integer> list = new ArrayList<Integer>(10);
list.add(2);
list.add(5);
list.add(3);
list.add(22);
list.add(3);
list.add(6);
list.add(9);
list.add(10);
list.add(11);
list.add(14);
list.add(27);
list.add(10);
list.add(32);
list.add(44);
list.add(55);
list.add(100);
//插入排序
InseartSort sort = new InseartSort();
sort.inseartSort(list);
print(list);
}
private static void print(List list) {
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}