算法——插入排序

插入排序

插入排序算法是一个对少量元素进行排序的有效算法。
插入排序是稳定的。

复杂度

平均时间复杂度: 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;
	}
}

参考文献

猜你喜欢

转载自blog.csdn.net/shenmingxueIT/article/details/108538100