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);
?>