<?php$unsorted = array();for ($i = 0; $i < 10; $i++) { $unsorted[] = rand(0,1000);}print "Unsorted Array. <br />";print implode(',', $unsorted);print "<br />";print "Sorted Array. <br />";$sort = select_sort($unsorted);print implode(',',$sort);/** selection sort 1. 找到数组最小的数 2. 与第一个数交换 3. 重复余下的元素*/function select_sort ($arr = array()) { $min = false; $n = count($arr); for ($i = 0; $i < $n; $i++) { $min = $i; for ($j = $i + 1; $j < $n; $j++) { if ($arr[$j] < $arr[$min]) { $min = $j; } } // $tmp = $arr[$min]; // $arr[$min] = $arr[$i]; // $arr[$i] = $tmp; list($arr[$min],$arr[$i]) = array($arr[$i],$arr[$min]); } return $arr; }
Salin selepas log masuk
?