插入排序:从待排序数组中,取出第一个数,认为其就是一个有序的数组;取第二个数,与第一个比较,若小于第一个,则交换;取第三个数,依次与前两数比较…直到排序完成。总结来说就是:取出下一个元素,在已经排序的元素序列中从后向前扫描,比较大小并交换位置。
package cn.zhf.sort;
public class InsertSort {
public static int[] insertSort(int[] input){
for(int i=0;i<input.length;i++){
int temp = input[i];
int j = i;
while(j > 0 && input[j - 1] >temp){
input[j] = input[j - 1];
j--;
}
input[j] = temp;
}
return input;
}
public static void main(String[] args) {
int input[] = {3,2,5,4,1};
int result[] = insertSort(input);
for(int i=0;i<result.length;i++){
System.out.println(result[i]);
}
}
}