php写的简单选择排序算法和直接插入排序算法

来源:互联网 发布:linux 系统环境变量 编辑:程序博客网 时间:2024/05/22 17:38

// 简单选择排序算法
function simpleSelectSort($array) {
  for ($i = 0; $i < count($array); $i++) {
    $min = $i;
    for ($j = $i + 1; $j < count($array); $j++) {
      if ($array[$j] < $array[$min]) {
        $min = $j;
      }
    }
    if ($min != $i) {
      $temp = $array[$i];
      $array[$i] = $array[$min];
      $array[$min] = $temp;
    }
  }
  return $array;
}

$obj = array();
for ($i = 0; $i < 100; $i++) {
  $obj[] = rand(1, 11);
}
$start = time();
$newObj = simpleSelectSort($obj);
$end = time();
print_r($newObj);

 

 

 

// 直接插入排序算法
function insertSort($array) {
  $first = $array[0];
  unset ($array[0]);
  $array[] = $first;
  for($i=2;$i<=count($array);$i++) {
    if($array[$i] < $array[$i-1]) {
      $array[0] = $array[$i];
      $j=$i-1;
      while($array[$j]>$array[0] && $j > 0){
        $array[$j+1] = $array[$j];
        $j--;
      }
      $array[$j+1] = $array[0];
    }
    unset($array[0]);
  }
  return $array;
}
//$obj = array(5,4,3,6,2);
$obj = array();
for($i=0;$i<100;$i++){
  $obj[] = rand(1,99);
}
$newObj = insertSort($obj);
print_r($newObj);

原创粉丝点击