選擇排序在冒泡排序的基礎上進行了改進,每次通過清單時只進行一次傳遞交換。簡單來說,選擇排序的原理就是每一次從待排序的資料元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法。
PHP選擇排序的程式碼範例如下:
<?php function selection_sort($data) { for($i=0; $i<count($data)-1; $i++) { $min = $i; for($j=$i+1; $j<count($data); $j++) { if ($data[$j]<$data[$min]) { $min = $j; } } $data = swap_positions($data, $i, $min); } return $data; } function swap_positions($data1, $left, $right) { $backup_old_data_right_value = $data1[$right]; $data1[$right] = $data1[$left]; $data1[$left] = $backup_old_data_right_value; return $data1; } $my_array = array(3, 0, 2, 5, -1, 4, 1); echo "原始数组:\n"; echo implode(', ',$my_array ); echo "\n排序后数组:\n"; echo implode(', ',selection_sort($my_array)). PHP_EOL;
輸出:
原始数组: 3, 0, 2, 5, -1, 4, 1 排序后数组: -1, 0, 1, 2, 3, 4, 5
本篇文章就是關於PHP選擇排序的實現方法介紹,希望對需要的朋友有幫助!
以上是PHP如何實作選擇排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!