欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP实现冒泡排序

程序员文章站 2022-07-23 22:55:24
冒泡排序属于交换排序,是一种稳定排序,平均时间复杂度为 ,最好情况时间复杂度为 ,最坏情况时间复杂度为 。 php $array[$j + 1]) { $temp = $array[$j + 1]; $array[$j + 1] = $array[$j]; $array[$j] = $temp; } ......

冒泡排序属于交换排序,是一种稳定排序,平均时间复杂度为
o(n^2),最好情况时间复杂度为o(n),最坏情况时间复杂度为o(n^2)
```php
<?php
/**
冒泡排序
前后两两比较,大的下沉,小的上浮
*/
function bubblesort($array)
{
//判断参数是否是一个数组
if (!is_array($array)) return false;
$length = count($array);
if ($length <= 1) return $array;
for ($i = 0; $i < $length; $i++) {
for ($j = 0; $j < $length - $i - 1; $j++) {
if ($array[$j] > $array[$j + 1]) {
$temp = $array[$j + 1];
$array[$j + 1] = $array[$j];
$array[$j] = $temp;
}
}
}
return $array;
}

$array = [1, 3, 5, 18, 9, 2, 4, 6, 5, 0, 10, 29, 15];

print_r(bubblesort($array));