龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 排序

时间:2014-09-24 03:03来源:网络整理 作者:网络 点击:
分享到:
排序 [代码片段(60行)]
// 选择排序 不稳定排序
function selection_sort($array)
{
  $max = count($array) - 1;
  for($i = 0; $i < $max; $i++)
  {
    $min = $i;
    for($j = $i + 1; $j <= $max; $j++)
    {
      if($array[$j] < $array[$min])
      {
        $min = $j;
      }
    }
    if($min != $i)
    {
      $temp = $array[$min];
      $array[$min] = $array[$i];
      $array[$i] = $temp;
    }
  }
  return $array;
}

// foreach while 插入排序
function insertsort($arr)
{
  foreach($arr as $k => $v)
  {
    $i = $k - 1;
    while($i > -1 && $v < $arr[$i])
    {
      $next = $arr[$i + 1];
      $arr[$i + 1] = $arr[$i];
      $arr[$i] = $next;
      $i--;
    }
  }
  return $arr;
}

// for while 插入排序
function insertsort1($arr)
{
  $max_key = count($arr) - 1;
  for($i = 1; $i <= $max_key; $i++)
  {
    $j = $i - 1;
    $current = $arr[$i];
    while($j >= 0 && $arr[$j] > $current)
    {
      $temp = $arr[$j+1];
      $arr[$j+1] = $arr[$j];
      $arr[$j] = $temp;
      $j--;
    }
  }
  return $arr;
}
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接