插入排序
过程:假定数组的前n-1个数已经排好序,将第n个数插入到前面的有序数列中,使得这n个数都是排好序的,重复这个过程直到排序完成。这个与选择排序有点相似,固定元素找位置。
复杂:n*n
public static int[] insertSort(int[] arr) {
int temp;
int len = arr.length;
for(int i = 0; i < len - 1; i++) {
for(int j = i + 1; j > 0; j--) {
if(arr[j] < arr[j - 1]) {
temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
} else {
break;
}
}
}
return arr;
}
网上还有很多其他的实现方式
eg:http://www.cnblogs.com/xiaoming0601/p/5862793.html