(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)
本文详细介绍了插入排序的思想,即通过逐步将未排序元素插入已排序序列的适当位置来完成排序过程。提供了C++实现代码示例,并分析了其时间复杂度为O(n^2)。
553

被折叠的 条评论
为什么被折叠?



