(1)思想:每步将一个待排序的元素按其大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。
(2)c++实现:
void insertSort(int a[],int n){//插入排序,对a[1...n],a[1..k-1]是已经拍好序的,a[k+1..n]是无序的;将a[k]插入到a[1..k-1]即可 for(int i=1;i<n;i++){ for(int j=i-1;j>=0&&a[j]>a[i];j++) a[j+1] = a[j]; } }
swap函数见“冒泡排序”(3)复杂度: o(n^2)