一、直接插入排序基本概念
回顾简单选择排序中我们将一个数列分成已排序和未排序的两部分,对未排序的部分进行比较选择出最小值min放到已排序的末尾。直接插入排序也可以看出将数列分为已排序和未排序的两部分,而与选择排序不同的是,他将未排序中的元素与已排序的部分的元素进行比较最终找到合适的位置进行插入。和插入排序结合的记忆比较好。
二、Java代码实现
public class InsertSort {
public static void insert_Sort(Integer[] a)
{
if(a==null||a.length==0)
{
return;
}
int i,j,temp;
for(i=1;i<a.length;i++)
{
if(a[i-1]>a[i])
{
temp=a[i];
for(j=i-1;j>=0&&a[j]>temp;j--)
{
a[j+1]=a[j];
}
a[j+1]=temp;
}
}
}
public static void main(String[] args) {
Integer[] a={10,9,8,7,6,5,4,3,2,1};
insert_Sort(a);
for(int i=0;i<a.length;i++)
{
if(i==a.length-1)
{
System.out.print(a[i]);
}
else
System.out.print(a[i]+",");
}
}
}