<?php
//選擇排序法
//實現思路 雙重迴圈完成,外層控制輪數,當前的最小值。內層 控制的比較次數
function select_sort($arr) {
//$i 當前最小值的位置, 需要參與比較的元素
for($i=0, $len=count($arr); $i<$len-1; $i++) {
//先假設最小的值的位置
$p = $i;
//$j 當前都需要和哪些元素比較,$i 後邊的。
for($j=$i+1; $j<$len; $j++) {
//$arr[$p] 是 當前已知的最小值
if($arr[$p] > $arr[$j]) {
//比較,發現更小的,記錄下最小值的位置;並且在下次比較時,應該採用已知的最小值進行比較。
$p = $j;
}
}
//已經確定了當前的最小值的位置,儲存到$p中。
//如果發現 最小值的位置與當前假設的位置$i不同,則位置互換即可
$tmp = $arr[$p];
$arr[$p] = $arr[$i];
$arr[$i] = $tmp;
}
//返回最終結果
return $arr;
}
?>
PHP基礎演算法之選擇排序法
相關文章
- PHP 排序演算法之選擇排序PHP排序演算法
- PHP基礎演算法之快速排序法PHP演算法排序
- PHP基礎演算法之氣泡排序法PHP演算法排序
- 演算法基礎:排序演算法:選擇排序演算法排序
- 老生常談之 PHP 基礎排序演算法PHP排序演算法
- Python排序演算法之 選擇排序Python排序演算法
- 排序演算法入門之「選擇排序」排序演算法
- 選擇排序法排序
- 排序演算法之「選擇排序(SelectionSort) 」排序演算法
- 排序演算法總結之直接選擇排序排序演算法
- 排序之選擇排序排序
- 排序演算法__選擇排序排序演算法
- 排序演算法:選擇排序排序演算法
- 畫江湖之演算法篇【排序演算法】選擇排序演算法排序
- 畫江湖之演算法篇 [排序演算法] 選擇排序演算法排序
- PHP排序演算法(插入,選擇,交換,冒泡,快速)PHP排序演算法
- 演算法學習之選擇排序和堆排序:演算法排序
- 基礎演算法之排序演算法演算法排序
- 夯實基礎:排序演算法之堆排序排序演算法
- 程式猿修仙之路--演算法之選擇排序演算法排序
- 排序演算法之冒泡,選擇,插入和希爾排序演算法
- 選擇法和冒泡法排序介面排序
- 排序演算法入門:選擇排序排序演算法
- 排序演算法——簡單選擇排序排序演算法
- 基礎排序(冒泡、選擇、插入)學習筆記排序筆記
- 常用演算法-選擇排序演算法排序
- java選擇排序演算法Java排序演算法
- 排序演算法 - 氣泡排序和選擇排序排序演算法
- 經典排序之選擇排序(Java)排序Java
- 冒泡,選擇排序法(C#)排序C#
- 常用的排序演算法(五)--選擇排序以及最佳化(PHP實現)排序演算法PHP
- php實現 氣泡排序,插入排序,選擇排序PHP排序
- #排序演算法#【1】概述、氣泡排序、選擇排序排序演算法
- PHP 排序演算法之希爾排序PHP排序演算法
- Python演算法之---冒泡,選擇,插入排序演算法Python演算法排序
- 基礎演算法系列 之希爾排序演算法排序
- 排序(2)--選擇排序,歸併排序和基數排序排序
- C#實現——十大排序演算法之選擇排序C#排序演算法