首页 >后端开发 >php教程 > 正文

php排序算法(冒泡排序,快速排序)_php技巧

原创2016-05-17 09:08:420826
冒泡排序实现原理

① 首先将所有待排序的数字放入工作列表中。
② 从列表的第一个数字到倒数第二个数字,逐个检查:若某一位上的数字大于他的下一位,则将它与它的下一位交换。

③ 重复步骤②,直至再也不能交换。

代码实现

复制代码 代码如下:

function bubbingSort(array $array)
{
for($i=0, $len=count($array)-1; $i<$len; ++$i)
{
for($j=$len; $j>$i; --$j)
{
if($array[$j] < $array[$j-1])
{
$temp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $temp;
}
}
}
return $array;
}

print '
';
print_r(bubbingSort(array(1,4,22,5,7,6,9)));
print '
';

快速排序实现原理
采用分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。

代码实现

复制代码 代码如下:

function quickSort(array $array)
{
$len = count($array);
if($len <= 1)
{
return $array;
}
$key = $array[0];
$left = array();
$right = array();
for($i=1; $i<$len; ++$i)
{
if($array[$i] < $key)
{
$left[] = $array[$i];
}
else
{
$right[] = $array[$i];
}
}
$left = quickSort($left);
$right = quickSort($right);
return array_merge($left, array($key), $right);
}

print '
';
print_r(quickSort(array(1,4,22,5,7,6,9)));
print '
';
php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:冒泡排序 快速排序
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    php中文网

    认证0级讲师

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类