package datastructure.maskedmen.sort;
import java.util.Arrays;
/**
* @author MaskedMen
*直接插入排序 时间复杂度:O(n2)
*/
public class InsertSort {
public static void main(String[] args) {
int[] array = {15,6,2,9,5,10,3,18,1};
System.out.println("原数组为:"+Arrays.toString(array));
insertSort(array,array.length);
System.out.println("排序后的数组为:"+Arrays.toString(array));
}
//直接插入排序
public static void insertSort(int[] array,int n){
int i=0, j=0,temp=0;
//比较n-1轮
for (i = 1; i < n; i++) {
temp = array[i];// 取出一个未排序的元素
//在已经排序好的序列中找出需要插入的位置
for (j = i - 1; j >= 0 && temp < array[j]; --j) {
array[j+1] = array[j];// 元素向后移动
}
array[j + 1] = temp;// 插入元素到数列
}
}
}
时间: 2024-08-26 01:56:28