排序算法之插入排序
时间复杂度: O(n^2).
思路:
1.假定第一个数据已经排序好了.
2.找到第i个数据应该在已经排序好的数组中的插入位置j
3.移动数据,利用tmp保存第i个数据,然后把位置后移。插入tmp到位置j
代码:
1 public void insertSort(int[] num) { 2 for (int i = 1; i < num.length; i++) { 3 int j = -1; 4 while(j <= i && (num[i] > num[++j])); 5 if ( j < i) { 6 int tmp = num[i]; 7 for (int k = i; k > j; k--) { 8 num[k] = num[k-1]; 9 } 10 num[j] = tmp; 11 } 12 } 13 }