用php实现选择排序的解决方法
程序员文章站
2024-02-04 21:31:10
1,定义:选择排序(selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余...
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);
?>