Heim  >  Artikel  >  Backend-Entwicklung  >  php冒泡排序与快速排序的例子

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

WBOY
WBOYOriginal
2016-07-25 09:03:29908Durchsuche
  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. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn