算法简介
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。
代码实现
<?php
$arr = [7, 43, 34, 34, 12, 0, 123, 22, 33];
for ($i=0;$i<count($arr);$i++) {
for ($j=$i+1;$j<count($arr);$j++) {
if ($arr[$i] > $arr[$j]) {
$tmp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
print_r($arr);
排序结果
Array
(
[0] => 0
[1] => 7
[2] => 12
[3] => 22
[4] => 33
[5] => 34
[6] => 34
[7] => 43
[8] => 123
)
以上的例子单纯通过 PHP 的 sort 函数也能实现,这里学习的是一种算法思想,在问了 JAVA 同事后才知道他们都是手搓算法的,并没有 PHP 这种简便的内置函数,长久以来一直听人说 PHP 上手简单、开发快,各种开箱即用的函数用起来是很爽,但也屏蔽了背后的原理,不禁感慨人还是要不断学习,开阔自己的眼界,不能只活在自己的那口井里。
网友评论