专注细节
努力进步

插入排序

插入排序

插入排序包括直接插入排序和shell排序

1,直接插入排序

基本思路:顺序地把待排序的数据元素按大小插入到已经排序的数据元素的子集合中,排序过程如下:

 直接插入排序代码

2,shell排序

shell排序基本原理是把待排序的数据,分成若干小组,然后对同一小组使用直接插入排序,这样,小组的个数逐次减少,当所有元素在同一小组时完成排序过程。

 shell排序代码

ps:我写了两个排序算法的代码,但是比较两个数的速度时,发现插入排序竟然比shell的速度要快,不知道是什么问题导致的!!!!

找到问题了!!!!因为我之前代码中 a[200000]经过shell排序已经完成了 再去用insert_sort基本不需要操作,所以会出现插入排序比shell的速度快,但是我使用两个数组后,再去排序能够得到shell远远大于直接插入排序,如图:

分享到:更多 ()