摘要:冒泡排序,相信对于编程人员来说并不陌生。它的排序原理:对一组数据,比较相邻数据的大小,将值小数据在前面,值大的数据放在后面。
冒泡排序,相信对于编程人员来说并不陌生。冒泡排序算法简单来说就是依次比较相邻的两个数,然后根据大小做出排序,直至最后。
那么之所以称为“冒泡排序”算法是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同水中的气泡最终会上浮到顶端一样。
冒泡排序算法原理:对一组数据,比较相邻数据的大小,将值小数据在前面,值大的数据放在后面。
下面我们就结合具体的代码示例,给大家介绍PHP冒泡排序算法的实现。(以下是升序排列,即从小到大排列)
代码示例如下:<?php
function maopao($arr){
$len = count($arr);
for($k=0;$k<=$len;$k++)
{
for($j=$len-1;$j>$k;$j--){
if($arr[$j]
$temp = $arr[$j];
$arr[$j] = $arr[$j-1];
$arr[$j-1] = $temp;
}
}
}
return $arr;
}
$arr = [12,7,-1,5,2,33,5,9,231,13];
var_dump(maopao($arr));
从冒泡排序算法的原理及上面的代码以、下面的排序图解(一次排序过程),可以发现它的核心点:比较,然后交换位置,由于在代码中并不能直接交换两个变量的值,因此需要引入一个中间变量来承接其中的一个值才能实现两个变量值的交换。
冒泡排序算法一次排序图解