冒泡排序算法,在很多编程语言中都有的,它是数据列表排序数字经常会用到的。我们先来了解下冒泡排序的原理,再来看下什么是冒泡排序。
冒泡排序的原理如下:
(1)比较相邻的元素。如果顺序错误,就交换它们两个。
(2)对每对相邻元素做同样的工作, 从后往前或者从前往后。
(3)针对所有的元素重复以上的步骤,除了最后一个。
(4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
什么是冒泡排序算法?
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降字排列),就如同做酸次料中二氧化破的气泡最终会上浮到顶端一样,故称“冒泡排序”。
我们在以上排序中,是前往后,不吻合升序的就交换位置。其实,我们也可以从后往前,不物合降序的就交换位置,同样可以达到目的。接下来我们分步编程。
我们要实现的数据排序如图:56、23、78、54、43,让它从小到大升序排列。
scratch冒泡排序算法完整代码效果
用Scratch实现冒泡法排序方法步骤:
步骤一、先思考,运用冒泡排序怎么实现。首先要做的就是分析数据,升序就是将最小的数放到最前面,从前面往后比较4次。如果遇到比直接小的,就交换位置,如比自己大的,就不动。
步骤二、一共经历4轮,从前往后比,每轮都是从第一项开始比较;
步骤三、建立变量temp、i、j三个变量。
temp表示,临时变量,用作为交换两个数据的桥梁。
i表示,从前往后比,每轮都是从第一项开始比较。
j表示,每轮比较的次数,每次都会少一次;
步骤四、双向循环控制,内循环是找到第一轮从小到大的每个相邻的元素的排序比较,外循环是循环轮数,需要经过几轮比较。代码如下:
scratch冒泡排序算法完整代码
scratch算法相关重要知识点:
scratch枚举算法
scratch堆栈算法
scratch递归算法