加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Scratch算法讲解(1)——选择排序|附程序源码

(2019-03-23 17:19:07)
标签:

scratch

选择排序

排序

算法

程序

分类: Scratch

    今天我们来讲一讲排序。选择排序是排序算法中最简单的算法之一。

    假如我们要用选择排序算法给6个数从大到小排序,原理是这样的:

    从第1位到第5位,给每个位置选择一个它和它之后的所有数字中最大的数字,来放在这位置上。当然,前5位都选择完之后,最后一位就是最小的数啦。

举例,对以下数字进行从大到小排序:

17 64 79 31 43 24

   1位选择后 [79] 17 64 31 43 24

   2位选择后 79 [64] 17 31 43 24

   3位选择后 79 64 [43] 17 31 24

   4位选择后 79 64 43 [31] 17 24

   5位选择后 79 64 43 31 [24] 17

    最后排序结果 79 64 43 31 24 17

Scratch算法讲解(1)——选择排序|附程序源码 

    细心的小朋友就会发现,选择完第一个数的时候,后面的数字位置也变了!怎么回事呢?

    那我们就要了解,细分到每个位置,如何给一个位置选择一个它和它之后所有数字中最大的数呢?

    举例,假如要给第2位选择最大数,我们要把第2位上的数依次和它后面的每一个数字进行比较:

    如果第2位上的数小于第3位的数,就把两个数字交换;如果第2位上的数小于第4位的数,就把两个数字交换;如果第2位上的数小于第5位的数,就把两个数字交换;如果第2位上的数小于第6位的数,就把两个数字交换。

   1位选择后 [79] 17 64 31 43 24

   2位与第3位比较 79 [64] [17] 31 43 24 交换

   2位与第4位比较 79 [64] 17 [31] 43 24 不交换

   2位与第5位比较 79 [64] 17 31 [43] 24不交换

   2位与第6位比较 79 [64] 17 31 43 [24] 不交换

 

Scratch算法讲解(1)——选择排序|附程序源码

Scratch选择排序程序(.sb2)及讲解(.docx):

链接:https://pan.baidu.com/s/1uHmEECdBjk9EDVSEpeIpcQ 

提取码:cfmc


Scratch算法讲解(1)——选择排序|附程序源码

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有