今天的小程序写的是插入排序法,写的比较low,欢迎各位指教哦
首先,先说一下我理解的插入排序,给出一组数,[9,1,10,6,3,-1,100] ,步骤如下:
(1)用临时的temp分别表示某个位置的值,并比较这个临时的数与该位置前面的数的大小关系。
(2)将比R小的这些数都向右移动,并将R对应的j←移动
(3)将R插入,即可完成插入排序
代码如下:
import java.util.*;
class sort
{
public static void main(String[] args)
{
int[] arr=new int[] {9,1,10,6,3,-1,100};
sort.InsertSort(arr);
}
public static void InsertSort(int[] array)
{int i,j;
int R;
//int[] array=arr;
for (i=0;i<array.length;i++)
{
R=array[i];//R是从array[0],也就是第一个数开始
// System.out.println(R);
j=i-1;
while(j>=0&&R<array[j])
{
array[j+1]=array[j];
j--;
}
array[j+1]=R;
}
System.out.println(Arrays.toString(array));
}
}