首页 > 代码库 > 《算法》插入排序

《算法》插入排序

使用插入排序将乱序数组进行排序。

  分析:插入排序的思想()

     插入排序的时间复杂度。()

     插入排序的稳定性。

 插入排序的思想:

  插入排序的思想就是将一个元素插入已经排序好的一组数据中,为它在这组已经排序好的数组中找到自己合适的位置;

code:

  


//插入排序的思想
//对于一个元素在一个已经排序好的序列中插入这个元素到一个合适的位置;
void InsertSort(int*array, int n) //待排序的序列 ,与排序的大小
{
int i, j;
int temp;
for (i = 1; i < n; i++) //从第二个元素开始插入,为其在前面已经排好的序列中找合适的位置
{
//为当前元素选择合适的位置 这个元素标记为temp
temp = array[i];
//假设元素是从小到大的排序,那么我们从后面往前面便利。
for (j = i - 1; j >= 0; j--)
if (array[j]>temp)
array[j + 1] = array[j];
else
break;
//找到合适的位置后填充当前值;
array[j + 1] = temp;
}
for (i = 0; i < n; i++)
cout << array[i] << endl;
}

《算法》插入排序