排序算法-直接插入排序

来源:互联网 发布:手机淘宝抢购要刷新吗 编辑:程序博客网 时间:2024/06/05 00:35
直接插入排序是一种最简单的排序方法,原理就是把一个记录插入到已经排序好的表中,然后得到一个新的有序表。

public class 插入排序
{
public static int[] insertSort(int arr[]){
int arrSort[]=new int[arr.length];
arrSort[0]=arr[0];//赋值
for(int i=1;i<arr.length;i++){
next(i,i,arr[i],arrSort);
}

return arrSort;
}

/**
* 将一个数插入到有序数组中,使其升序
*/
static void next(int i,int tempi,int target,int arrSort[]){
if(target<arrSort[i-1]){
int temp=arrSort[i-1];
arrSort[i-1]=target;
arrSort[i]=temp;
if(i-1>0)
next(i-1,tempi,target,arrSort);
}else{
if(i==tempi)
arrSort[i]=target;
}
}

public static void main(String[] args)
{
int arr[]={222,99,88,9,0,8988,8790809,808,1};
arr=insertSort(arr);
//排序后打印输出
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}

}


运行程序输出以下结果

0
1
9
88
99
222
808
8988
8790809

0 0