/*
* Insert Sort
*/
public class Insert {
public static void main(String[] args) {
int[] data={32,2,26,16,50,36,15,20};
int temp,index;
for(int i=1;i<data.length;i++) {
temp=data[i]; //暂存数据
index=i-1;
while(index>=0&&temp<data[index]) {
data[index+1]=data[index]; //前面的数依次向右移位
index--;
}
data[index+1]=temp; //将数插入到合适的位置
}
for(int i=0;i<data.length;i++)
System.out.print(data[i]+" ");
}
}
结果如下(最坏情况的时间复杂度为O(n^2)):
2 15 16 20 26 32 36 50