在编程中,算法是很常见的,尤其是在c++里面,算法尤为重要。上一篇《scratch冒泡排序算法,用Scratch实现冒泡法排序》文章我们详细的讲解到了冒泡排序算法,今天我们利用昨天所学的知识,scratch用冒泡排序,实现数字从大到小排序。
冒泡排序练习题如下:
原始数据是:52、752、15、-42、0、489
目标数据是:752、489、52、15、0、-42
scratch用冒泡排序,实现数字从大到小排序
scratch用冒泡排序,实现数字从大到小排序步骤:
先分析数据,最大值在前几位数,所以我们用降序的方法来实现。一共六个数据,我们需要对比5轮,每轮数据都需要比较的次数是6-cishu变量;每轮对比的数据详细变化步骤,可以写出来。如图:
scratch冒泡排序实现数字从大到小排序每轮比较详情
步骤一、新建列表“原始数据表”,变量i、cishu、temp三个变量,它们的作用分别是:
变量初始值
变量i,是遍历元素序号,从前往后比较,i=1,表示每次都是需要从第一项开始比较。
变量cishu,是每次循环比较的次数。
变量temp,是临时变量,用来实现交换两个数的桥梁。
步骤二、开始代码编程,使用内外循环来实现,内层循环比较数字的次数,外层循环是控制轮数。
内嵌循环将最大的数值冒泡到最上面
步骤三、如果列表第一项小于第二项的话,我们就将数据第一项的值和第二项的值交换。第一轮循环5次比较数据。第二轮,循环4次比较数据,一次递减一次。我们这里用6-cishu来表示。
scratch相关算法知识点分享:
欧几里德算法求最大公约数
scratch递归算法教程,阶乘递归算法分析
Scratch少儿数学编程算法题:根据天数求苹果数量