[PHP] 算法-選擇排序的PHP實現
阿新 • • 發佈:2018-10-30
com sel 循環 最小 src i+1 實現 分享 sele
選擇排序: 1.數組分成前後兩個部分,前部分是排序的,後部分是無序的 2.兩層循環,先假定當前循環的第一個索引為最小值,內部循環找比該索引還小的值,找到交換 for i;i<len;i++ minIndex=i for j=i+1;j<len;j++ if arr[j]<arr[minIndex] minIndex=j t=arr[i] arr[i]=arr[minIndex] arr[minIndex]=arr[i]
<?php function selectSort(&$arr){ $len=count($arr); for($i=0;$i<$len;$i++){ $minIndex=$i;//假定當前i是最小值 for($j=$i+1;$j<$len;$j++){ if($arr[$j]<$arr[$minIndex]){ $minIndex=$j; break; } }$t=$arr[$i]; $arr[$i]=$arr[$minIndex]; $arr[$minIndex]=$t; } return $arr; } $arr=array(2,3,1,4,9,5); selectSort($arr); var_dump($arr);
[PHP] 算法-選擇排序的PHP實現