近日参加某电网的高级工程师的笔试,要求现场写出一个冒泡排序,由于当时以为offer十拿九稳,结果却是大意失荆州,实在后悔,因此再次复习冒泡算法以作勉励。
冒泡算法基本原理:对于要求结果为递增的数列,两个相邻的元素比较,如果array[i] > array[i+1];那么两者交换,否则不做操作,继续遍历。
具体的PHP实现代码如下:
<?php
$input = array(6,1,88,66,3,99,123,66,33);
$length = count($input);
for($x = 0; $x < $length - 1; $x++){
for($i = 0; $i < $length - $x - 1; $i++){
if($input[$i] > $input[$i + 1]){
$tmp = $input[$i + 1];
$input[$i + 1] = $input[$i];
$input[$i] = $tmp;
}
}
}
var_dump($input);