学习冒泡排序的原理和相关代码
冒泡排序冒泡排序的原理:
举例说明,相关原理代码实际操作:
PHP代码(冒泡排序)解释:为了方便理解,在第6行自定义了一个简单的数组array(4,3,2,1)。
在代码中有两层for循环,一个if判断
第一层for循环控制趟数,第15行(ilen-1)就是控制行数,这取决于数组内部数的个数。(本案例有4个数值,它的趟数为3)
第二层for循环控制数的比较次数,第17行(klen-1-i)这是数组内数与数比较的次数,为什么要减i,因为i正好符合这里面的需求,在第一趟中数与数之间的比较有3次(len-1,其中len等于4),在第二趟中数与数之间的比较有2次,第三趟等后面的都在减1,需要一个变量,i符合需求,第一次为0、第二次为1、第三次为2。
if判断,第19行用来判断,数组前一个数,是否大于后一个数,如果大于,就将它们的数换位置(例如:数组第一个:4,数组第二个:3,43将数组第一个与第二个换位置,后面的也如此),进行存放,直到数组最后一个数。
效果图片:
排序结果