Scratch冒泡排序算法

这节课我们来学习冒泡排序,用scratch实现对一串任意长度的随机数列进行排序,排序方式默认为从小到大。

算法流程

1、从最后一个数开始,从下往上,依次比较相邻的元素,如果前一个比后一个数大,就交换位置。(这步做完后,第一个的元素会是最小的数)

2、除了已排好的第一个数,针对其余的元素重复以上的步骤;

3、依次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

第一步:生成随机数列

利用随机数和循环语句生成随机数列,用链表保存;

  • 输入要生成的随机数列数目;

  • 生成一个随机数并添加进数列中;

  • 添加一个循环,来重复生成随机数;

  • 判断生成的随机数是否已在数列中,若在,则重新生成随机数;若不在,将随机数添加到数列中。

file

第二步: 编写冒泡排序函数并调用

1、创建冒泡排序函数bs,并调用;定义变量i和i1,i用来指定数列中元素的位置,i1用来控制循环次数,初始值为链表的长度;

file

在生成随机数列的代码后加上调用函数代码;

file

2、编写第一轮循环;从下往上依次比较相邻的俩个数,直到第一个元素;如果前一个数比后一个数大,则交换位置;

file

3、编写第二轮循环;依次对越来越少的元素重复上面的第二步,直到没有任何一对数字需要比较(即排序完成,此时i1=0);

file

4、 新建变量numbercount和变量已完成来记录并显示排序完成情况;

file

黔西南 触摸未来
我们正身处一个只要愿意思考,就能改变世界的时代