直接插入排序(算法思想在注释中)
/**
* className:Sort
*
* @author:zjl
* @version:0.1
* @date:2020/8/614:43
* @since:jdk1.8
*/
public class Sort {
//测试
public static void main(String[] args) {
int R[] = {8,5,2,1,4,7,9,6,3};
int[] ints = InsertSort(R);
for (int i = 0; i < ints.length; i++) {
System.out.print(ints[i]+" ");
}
}
//直接插入排序(升序)
//算法思想:依次从待排序列中选中一个元素按照要求(升序||降序)插入到已经排好的序列中
public static int[] InsertSort(int R[]){
int temp;
int j;
for (int i = 1; i < R.length; i++) {
temp = R[i];
j=i-1;
while (j>=0&&R[j]>temp){//寻找插入位置
R[j+1]=R[j];//比待排元素大,将其后移
j--;
}
R[j+1]=temp;//插入
}
return R;
}
}
测试结果