排序算法------简单选择排序

原理:

  第一趟

    从所有数据中选取最小的数,然后与第一个数互换位置

  第二趟

    从剩余的(total-1)个数中选取最小的数与第二个数互换位置

  第三趟

    从剩余的(total-2)个数中选取最小的数与第二个数互换位置

  ...

 

//简单选择排序
function selectSort($arr) {
  $len = count($arr);
  for($i = 0; $i < $len; $i++) {
    //记录最小值所处位置
    $k = $i;
    for($j = $i+1; $j < $len; $j++) {
      if($arr[$k] > $arr[$j]) {
        $k = $j;
      }
    }
    //如果最小值的位置跟当前位置不一样,则交换当前位置与最小位置的值
    if($k != $i) {
      $tmp = $arr[$i];
      $arr[$i] = $arr[$k];
      $arr[$k] = $tmp;
    }
  }
  return $arr;
}

 

posted @ 2016-04-29 16:51  rcj_飞翔  阅读(80)  评论(0)    收藏  举报