PHP 버블 정렬 및 퀵 정렬의 예

WBOY
풀어 주다: 2016-07-25 09:03:29
원래의
908명이 탐색했습니다.
  1. function bubbingSort(array $array)

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

  17. print '

    ';</li>
    <li>print_r(bubbingSort(array(1,4,22,5,7,6,9)));</li>
    <li>print '
    ';
  18. ?>

复制代码

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

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

  26. print '

    ';</li>
    <li>print_r(quickSort(array(1,4,22,5,7,6,9)));</li>
    <li>print '
    ';
  27. ?>

复制代码


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿