插入排序:(1)直接插入排序 (2)二分插入排序
插入排序:往数列里面插入数据元素即往一个已经排好序的待排序的数列中插入一个数,使得插入这个数之后,数列仍然有序。
插入排序的实现代码如下:
package com.threeTop.www;
/**
* 插入排序的实现
* @author wjgs
*
*/
public class InsertSort {
private int[]array;
//构造函数进行初始化
public InsertSort(int []array)
{
this.array=array;
}
//插入进行排序
public void sort()
{
if(array==null)
{
throw new RuntimeException("array is null");
}
int length=array.length;
if(length>0)
{
for(int i=0;i<array.length;i++)
{
int temp=array[i]; //等待插入的元素
int j=i;
for(;j>0&&array[j-1]>temp;j--)
{
array[j]=array[j-1];//比较操作,比参照的元素大则将其向后面移动一位
}
array[j]=temp;
}
}
}
public void print()
{
for(int i=0;i<array.length;i++)
{
System.out.print(array[i]+" ");
}
}
public static void main(String[] args)
{
int []array={5,9,1,9,5,3,7,6,1,10};
InsertSort insertsort=new InsertSort(array);
insertsort.sort();
insertsort.print();
}
}