标签:length rgba 情况 col 复杂度 有序数组 需要 直接插入 移动
public static int[] insertionSort(int[] A) { int n=A.length; int i=0,j=0,t=0,k=0; for(i=1;i<n;i++) {//把A[0]看成一个有序数组,从A[1]开始到A[n]逐个插入这个数组。 int temp=A[i]; for(j=i-1;j>=0;j--) {//寻找插入位置k if(A[i]>A[j]) { k=j+1; break; } } for(t=i-1;t>=k;t--) {//从后开始挨个移动k以后的元素,把k位置空出来 A[t+1]=A[t]; } A[k]=temp;//把A[i]放到k位置 } return A; //最好情况原来数组就有序,每个元素至少访问一遍,时间复杂度n //最坏情况,数组完全逆序,需要做1+2+......+n-1次比较,2+3+......+n次移动,时间复杂度n*n }
直接插入排序算法
标签:length rgba 情况 col 复杂度 有序数组 需要 直接插入 移动
原文地址:https://www.cnblogs.com/licheng1995/p/14136127.html