【欢迎关注、分享、点赞或评论,您的一个举手之劳,便是最大的鼓励!
】
欢迎关注【php在路上】每天进步一点。
码字不随意马虎,尊重版权,转载请注明出处:PHP在路上。

算法是有用的,也是呆板的,我们只管即便用生活中的例子来描述。排序算法是算法中最根本的部分,本日我们一起来排序算法中的冒泡排序算法。
内容概要:1、什么是冒泡算法-差生排序问题。
2、冒泡算法的动画图。
3、冒泡算法的PHP代码实现。
一、什么是冒泡算法-差生排序问题。光阴回到你上小学的时候某日,老师大怒:这次数学考试均匀分在不及格的,站到讲台前来!
5个同学不宁愿的,慢吞吞的走到讲台前,他们随机的站成一排。
老师说:按照你们的成绩从小到大站成一排!
假设这五位同学的位置分别是ABCDE,他们相互不知道对方成绩,只能现场问阁下的同学。
利用美帝的小朋友补充一下画面
现实排序情形是比较乱的,站来站去,排队很永劫光。
这时候冒泡排序算法就能帮上忙了。
首先解释一下:ABCDE是位置编号,排序的时候,我们不关心同学的名字,只关心某个位置上站的同学分数得当就行。
顺序是这样的,首先 A位置的同学和B位置的同学先相互问对方成绩,如果后者成绩小(差),他俩换一下位置,否则别动。同理,再比较B和C位置的同学成绩,如果C位置同学成绩小(差),就互换。依次再比较C和D、D和E位置的同学,
这样比较一轮,做的结果是ABCDE五个位置的同学两两比较了一次,这样做的结果有两个:
一是,每次两两位置比较,较差成绩的总会向前排一位,
二是,最好成绩的同学排到了得当位置(末了位置E)。
同理再来一轮比较,结果还是会将较差成绩的同学位置向前排一位,成绩第二好的同学会排到得当位置(D位置)不同的是,我们这次只须要比较ABCD四个位置就行了。
连续按照一轮一轮的比下去,会井井有条的完成老师的排队哀求的。
我们打算一下须要比多少轮:
第一轮:ABCDE
第二轮:ABCD
第三轮:ABC
第四轮:AB
也便是会比较4轮就可以完成哀求了。
这便是冒泡排序。书面措辞我就不抄了,大家自行搜索。
虽然比较啰嗦,但是我以为我讲清楚了,不知大家是否清楚?请在评论中给个见地吧,感谢支持PHP在路上。
二、冒泡算法的动画图。我们假设ABCDE位置上的成绩分别是30, 49, 15, 21, 19;看下面的仿照动画。
【详细这个动画图是怎么制作的,如果想知道的话,就在评论中见告我哈。】
冒泡排序算法动画示意图
三、冒泡算法的PHP代码实现PHP代码的实现是利用数组的办法,这里须要理解两点:
1、数组的下标就相称于我们例子中的ABCDE位置的观点。
2、数组的元素便是考试的成绩。
须要明确的是,例子中,我们本色上是按照成绩来排序的,千万不要说同学理解成数组的下标,否则会糊涂。
我也贴出来自己写的PHP冒泡排序算法。
运行结果就不贴出来了,和上面的动画图的结果是一样的。
冒泡排序比较大略,但口试和或笔试的时候,也会偶尔涌现。而在实际的php程序开拓过程中,是不须要写。
PS:这篇文章将近用了三个小时。不知道冒泡算法我解释白了吗?如果解释白了,请回答:666
有不得当的地方,欢迎评论中指出。