百度
360搜索
搜狗搜索

PHP程序的数组快速排序原代码详细介绍

    以下是PHP数组快速排序原代码:

<?php
  /**
  * 快速排序
  */
  function quick_sort($array)
  {
  $len = count($array);
  if($len <= 1)
  {
  return $array;
  }
  $left_array = array();
  $right_array = array();
  $key = $array[0];
  for($i=1; $i<$len; $i++)
  {
  if($key < $array[$i])
  {
  $right_array[] = $array[$i];
  }else
  {
  $left_array[]=$array[$i];
  }
  $first_array = array_merge($left_array, array($key), $right_array);
  }
  return $first_array;
  }
  $just = array(49,38,97,76,13,27);
  for($j=0; $j<6;$j++)
  {
  static $array1 ;
  static $array;
  $array1 = quick_sort($just);
  $array = quick_sort($array1);
  }
  print_r($array);
  PHP,递归快排 function quick_sort($arr)
  {
  _quick_sort($arr, 0, (count($arr)-1));
  return $arr;
  }
  function _quick_sort(&$arr, $i, $j)
  {
  $pivot = $arr[$i];
  $_i = $i;
  $_j = $j;
  while($i<$j)
  {
  while($arr[$j]>=$pivot && $i<$j) $j--;
  if($i<$j)
  {
  $arr[$i] = $arr[$j];
  $i++;
  }
  while($arr[$i]<=$pivot && $i<$j) $i++;
  if($i<$j)
  {
  $arr[$j] = $arr[$i];
  $j--;
  }
  }
  $arr[$i]=$pivot;
  if($_i<$i-1)
  {
  _quick_sort($arr, $_i, $i-1);
  }
  if($_j>$i+1)
  {
  _quick_sort($arr, $i+1, $_j);
  }
  }

?>

阅读更多 >>>  footer,HTML5的(footer)标签元素怎么使用

文章数据信息:

本文主要探讨:"PHP程序的数组快速排序原代码", 浏览人数已经达到34次, 首屏加载时间:1.348 秒。