Scratch

状课网-少儿编程网课专业平台

Scratch 跟我学scratch编程:数学篇—排序的冒泡算法

发布时间:2021-11-26 11:28:28 浏览 0

  CC哥无意在网上看到一个排序的例子,冒泡算法,程序编写的也挺有意思,可惜只保存了程序,没有保留作者的文章,不过还是把代码分享出来,算是代码赏析吧。

  ———— / 冒泡算法 / ————冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。

  它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。

  这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

  ———— / 程序展示/ ————

跟我学scratch编程:数学篇—排序的冒泡算法

  ———— / 程序分析/ ————

  这个程序做的好的地方就是,他用编程把冒泡算法完美的演示了一遍。你可以看到每一步程序的执行。排序先从最下面开始,一步一步进行交替比较,发现下面的数字比上面大,就通过临时变量来进行数据队列里面的交换。(队列里面的数据交换位置需要有临时变量来做数据交换时的临时存放)

  通过这个程序,小朋友就可以很容易和直观的理解冒泡算法。

  ———— / 代码部分/ ————

跟我学scratch编程:数学篇—排序的冒泡算法

  代码部分CC哥简单调整了一下,尊重原创,基本上没改,而且CC哥觉得写得很规范了,只要对算法搞清楚了,代码很好理解。大家主要注意一下循环的次数的设定。比如列表有14个数字,那第一次只需要比较13次就够了。同时因为每次比较都是要把最大数移到上面去,所以小循环里的循环次数每次都是递减的。不是每一次两两比较都要做到列表的顶端,因为已经每次循环都会挑出最大的数字放在上面,下次循环时也就没必要再去比较了。

  学编程,算法是很重要的一部分,也是真正锻炼思维的部分,所以NOIP的比赛就是考算法,虽然建议算法可以等到上初中再去学,小学玩玩就好,但是还是可以通过scratch接触一些算法的概念会比较好。否则上初中开始直接用C++做算法会很吃力的。  其余的部分CC哥也觉得没什么可讲的了,还是让大家自己欣赏程序和代码吧。

  文章来源:跟我学Scratch编程

本文链接:https://www.ascratch.com/news/17627.html

上一篇:跟我学scratch编程:基础篇—链表的应用二:取随机数 下一篇:返回列表