伪代码
算法描述
Insertion - sort(A) 方法名
Input:A[1,......,n]=n个数
Output:A[1,......,n]=n个sorted数
FOR j=2 To n Do
key<--A[j];
i<--j-1;
while i>0 AND A[i]>key Do
A[i+1]<--A[i];
i<--i-1;
A[i+1]<--key;
示例代码
public int[] sort(int[] input){
//循环遍历所有内容,遍历次数为n-1次
for(int j=1;j<n;j++) {
int key=input[j];
//当前key为第j个
int i=j-1;
//i为当前的第j-1个,为当前的前一个
while (i>=0 && input[i]>key){
//从第一个开始,判断当前key的值得位置
input[i+1]=input[i];
//如果当前的key值,比前面的值小,则放到第二个位置
i=i-1; //设置当前i的值为当前-1
}
input[i+1]=key; //给当前-1的值赋值
}
return input;
}