五十五、深入插入排序和选择排序
【摘要】 @Author:Runsen
文章目录
插入排序
选择排序
插入排序
插入排序(英语:Insertion Sort)是一种简单直观的排序算法。
一个有序的数组,我们往里面添加一个新的数据后,如何继续保持数据有序呢?很简单,我们只要遍历数组,找到数据应该插入的位置将其插入即可。
通过构建有序序列,对于未排序数据,在已排序序...
@Author:Runsen
插入排序
插入排序(英语:Insertion Sort
)是一种简单直观的排序算法。
一个有序的数组,我们往里面添加一个新的数据后,如何继续保持数据有序呢?很简单,我们只要遍历数组,找到数据应该插入的位置将其插入即可。
通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。
因此,代码编写需要判断插入元素和当前元素的大小关系,遍历时需要从数组的第二个数开始。
如果插入元素大于当前元素,则将待插入元素插入到当前元素的后一位。
如果插入元素小于当前元素,则将当前元素后移一位。直到找到一个当前元素小于插入元素。
因此,在for循环遍历时,又有一个while内循环的条件,条件的内容是插入元素的索引减一
和零
进行对比。如果插入元素小于当前元素,同时对索引进行减一操作。如果出现了索引等于零的情况,那么表示插入元素等于当前元素。
下面是插入排序的具体P
文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。
原文链接:maoli.blog.csdn.net/article/details/110791575
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)