// 保持0-i有序 for(int i=1; i<n; i++) { int j=i, t=a[i]; while(j && a[j]<a[j-1]) a[j]=a[j-1], j--; a[j]=t; } // 5 4 3 2 1 // 看最后一个点移动n次,n个点 => O(n^2)