用php实现选择排序的解决方法

  1,定义:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

  参考代码:

  

复制代码 代码如下:

  <?php

  //选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

  function selectSort(&$arr){

  //定义进行交换的变量

  $temp=0;

  for($i=0;$i<count($arr)-1;$i++){

  //假设$i就是最小值

  $valmin=$arr[$i];

  //记录最小值的下标

  $minkey=$i;

  for($j=$i+1;$j<count($arr);$j++){

  //最小值大于后面的数就进行交换

  if($valmin>$arr[$j]){

  $valmin=$arr[$j];

  $minkey=$j;

  }

  }

  //进行交换

  $temp=$arr[$i];

  $arr[$i]=$arr[$minkey];

  $arr[$minkey]=$temp;

  }

  }

  $arr=array(7,5,0,4,-1);

  selectSort($arr);

  print_r($arr);

  ?>