2.插入排序 2.1 描述 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列, 对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。。 2.2 复杂程度 时间复杂度O(n^2) 空间复杂度O(1) 2.3 代码 #include void InsertionSort(int *arr, int size) { int i, j, tmp; for (i = 1; i < size; i++) { if (arr[i] < arr[i-1]) { tmp = arr[i]; for (j = i - 1; j >= 0 && arr[j] > tmp; j--) { arr[j+1] = arr[j]; } arr[j+1] = tmp; } } } int main() { int arr[] = { 22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70 }; int len = (int) sizeof(arr) / sizeof(*arr); InsertionSort(arr, len); int i; for (i = 0; i < len; i++) printf("%d ", arr[i]); return 0; } 2.4 运行时间 0.02198s