首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《野牛程序员·算法启蒙课》之——插入排序,像打扑克牌一样排序!

《野牛程序员·算法启蒙课》之——插入排序,像打扑克牌一样排序!

用故事讲给孩子听:

还记得打扑克牌的时候怎么理牌吗?

是不是每拿到一张新牌,就在手上的牌里找合适的位置插进去,让整排扑克牌从小到大排好队?

插入排序就是这个意思:一边看数据,一边把它们“插”进一个排好队的序列里!

🧠 一句话记住插入排序:

把每个元素插入到前面已经排好序的“有序区”中。

步骤就像这样:

第一个元素:默认已经排好了(自己一个人当然有序)

看第二个元素,插到前面合适的位置

看第三个,插到前面排好队的位置中

一直到最后一个……

图解举个例子:

原始数组是:

【5, 3, 8, 6, 2】

第一个数5,默认有序

第二个数3,比5小 插到前面 【3, 5, 8, 6, 2】

第三个数8,比前面的都大 不动

第四个数6,比8小,比5大 插到中间 【3, 5, 6, 8, 2】

最后一个2,最小 插到最前面 【2, 3, 5, 6, 8】

完美

🧑‍ C++代码登场:

插入排序的优点:

排序过程中几乎不交换数据,只是“挪位”,非常节省开销

对于“差不多有序”的数组特别快!

理解门槛低,小朋友容易学会!

小朋友任务卡:

试试自己写一段程序,帮老师把[4, 1, 7, 2, 6]排一排~

可以用纸和笔先写步骤,再试着打代码,做个小小算法师!

野牛程序员教少儿编程与信息学奥赛

宜宾市野牛网络科技有限公司专业微信小程序开发、网站建设、软件开发等

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OQUg3_HHbsS2OgEn-JVRwVog0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券