插入排序
插入排序算法是一个对少量元素进行排序的有效算法。
插入排序是稳定的。
复杂度
平均时间复杂度: O(n^2)
最坏时间复杂度: O(n^2) 最优时间复杂度: O(n)
最坏空间复杂度: 总共 O(n) ,需要辅助空间 O(1)
算法原理
代码实现
void insert_sort(Elem* arr,int size)
{
int key;
for(int i = 1;i < size; i++)
{
key = arr[i];
for(int j = i-1;j >= 0;j--)
{
if(arr[j] > key)
{
arr[j + 1] = arr[j];
}
}
arr[++j] = key;
}
}
参考文献
无