算法简单,网上有一堆现成的讲解,不做赘述了。本算法根据算法导论伪代码编写。C++实现 VS 2010中测试。
void insertionSort(int * array, int num)
{
int tmp,j;
for (size_t i = 1; i < num; i++)
{
tmp = array[i];
j = i - 1;
while (j>=0 &&array[j]>tmp){
array[j + 1] = array[j];
j--;
}
array[j+ 1] = tmp;
}
}
特点:算法简单,代码简洁。空间消耗少,属于In-place 操作,但是时间复杂度较高,最坏情况和平均情况是O(n2),最好情况是O(n)。算法稳定。
本文介绍了一种简单的排序算法——插入排序,并提供了C++实现代码。该算法适用于小规模数据集,特点是实现简单且空间效率高,但时间复杂度较高。

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



