插入排序将数据分为前面有序部分和后面无序部分,取无序部分的第一个元素插入到有序序列中.
注意与选择排序的区别.
// insert sort
void insertionSort(int arr[], int length) {int i, j, tmp;for (i = 1; i < length; i++) {j = i;while (j > 0 && arr[j 1] > arr[j]) {tmp = arr[j];arr[j] = arr[j 1];arr[j 1] = tmp;--j;}} }