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

php冒泡排序与快速排序的例子

程序员文章站 2022-05-03 09:55:48
...
  1. function bubbingSort(array $array)

  2. {
  3. for($i=0, $len=count($array)-1; $i{
  4. for($j=$len; $j>$i; --$j)
  5. {
  6. if($array[$j] {
  7. $temp = $array[$j];
  8. $array[$j] = $array[$j-1];
  9. $array[$j-1] = $temp;
  10. }
  11. }
  12. }
  13. return $array;
  14. }
  15. print '

    ';
  16. print_r(bubbingSort(array(1,4,22,5,7,6,9)));
  17. print '';
  18. ?>
复制代码

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

  1. function quickSort(array $array)

  2. {
  3. $len = count($array);
  4. if($len {
  5. return $array;
  6. }
  7. $key = $array[0];
  8. $left = array();
  9. $right = array();
  10. for($i=1; $i{
  11. if($array[$i] {
  12. $left[] = $array[$i];
  13. }
  14. else
  15. {
  16. $right[] = $array[$i];
  17. }
  18. }
  19. $left = quickSort($left);
  20. $right = quickSort($right);
  21. return array_merge($left, array($key), $right);
  22. }
  23. print '

    ';
  24. print_r(quickSort(array(1,4,22,5,7,6,9)));
  25. print '';
  26. ?>
复制代码