PHP选择排序

2019-06-11  本文已影响0人  程序小白菜
/**
 * @param array $arr
 * @return array
 */
function selectionSort(array $arr) {
  $len = count($arr);

  if (!$len) { 
    return [];  
  }

  for ($i = 0; $i < $len; $i ++ ) {
      $minIndex = $i;
      for($j = $i + 1; $j < $len; $j++) {
          $minIndex = $arr[$j] < $arr[$minIndex] ? $j : $minIndex;
      }
      
      swap($arr, $i, $minIndex);
   }
    return $arr;
}

/**
 * @param array $arr
 * @param string $first
 * @param string $second
 */
function swap(array &$arr, $first, $second)  {
    $temp = $arr[$first]; 
    $arr[$first] = $arr[$second];
    $arr[$second] = $arr[$first];
}
上一篇 下一篇

猜你喜欢

热点阅读