冒泡算法就是给数据排序的意思。比如说升序,17,8,9,28,5.升序之后的结果就是5,8,9,17,28.
从我们的大脑思维来看,结果一眼就有了,可是机器要怎么才能识别呢?
接下来我们一步步的分析!
第1次冒泡:
第2次冒泡:
第3次冒泡:
第4次冒泡:
- 可以发现,5个数的话,冒泡的次数是n-1;
- 数据内部的移动次数也是n-1;
- 而且出现了2次循环。可以将冒泡循环看作是大的循环,数据内部移动是第二次循环;
- 数据的比较是data[j]<data[j+1];
先不要急着写代码,画一下流程图。
接下来,就是代码的实现;第一个循环代表冒泡的次数;
第二个for循环代表的是数据移动的次数;
这里为了提前结束,加了count这个变量。
通过这个算法主要是学会for嵌套循环的应用。还有function的简单用法。期望大家多多指正,相互进步!