直接插入排序算法——C/C++

直接插入排序

1、插入排序(Insertion-Sort)的基本思想:
每次将一个待排序的数据按照大小插入到前面已经排好序的适当位置,直到全部数据插入完成为止。

2、插入排序的步骤:
2.1、建立一个哨兵(即临时变量),把要插入的数据赋给它。
2.2、插入数据从后面开始比较,如果大于前面的就记录下标,并将数据后移,直到插入数据碰到比它小的。
2.3、将临时变量赋值给当前记录下标。
2.4、for循环即完成全部数据插入。

3、插入排序动图演示

在这里插入图片描述
4、插入排序完整代码

#include 

void InsertSort(int array[],int size){
	int i,j;
	for(int i=0;i

结果展示(显示每一次插入信息)
直接插入排序算法——C/C++_第1张图片
5、算法分析
(1)算法性能的分析
时间复杂度:平均O(n^2),最好O(n), 最坏O(n^2)
空间复杂度:O(1)
稳定性:稳定

你可能感兴趣的:(数据结构)