企业门户网站解决方案,公司变更注销,手机 网站 翻页 外部,长沙招聘网站制作题目#xff1a; PHP 实现选择排序
描述#xff1a;
n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果#xff1a;(1)初始状态#xff1a;无序区为R[1…n]#xff0c;有序区为空。(2)第1趟排序在无序区R[1…n]中选出关键字最小的记录R[k]#xff0c;将…题目 PHP 实现选择排序
描述
n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果(1)初始状态无序区为R[1…n]有序区为空。(2)第1趟排序在无序区R[1…n]中选出关键字最小的记录R[k]将它与无序区的第1个记录R[1]交换使R[1…1]和R[2…n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。 * ……(3)第i趟排序第i趟排序开始时当前有序区和无序区分别为R[1…i-1]和Ri…n。该趟排序从当前无序区中选出关键字最小的记录R[k]将它与无序区的第1个记录R[i]交换使R[1…i]和R[i1…n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。这样n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果。 */
function selectSort(array $list)
{$length count($list);for($i 0; $i $length; $i){$key $i;for($j $i 1; $j $length; $j){if($list[$j] $list[$key]){$key $j;}}$temp $list[$key];$list[$key] $list[$i];$list[$i] $temp;}return $list;
}$list array(3, 6, 2, 4, 10, 1 ,9, 8, 5, 7);
var_dump(selectSort($list));/*** 分析* 原数组[ 3 ,6 ,2 ,4 ,10 ,1 ,9 ,8 ,5 ,7 ]* key:5* [ 1 ,6 ,2 ,4 ,10 ,3 ,9 ,8 ,5 ,7 ]* key:2* [ 1 ,2 ,6 ,4 ,10 ,3 ,9 ,8 ,5 ,7 ]* key:5* [ 1 ,2 ,3 ,4 ,10 ,6 ,9 ,8 ,5 ,7 ]* key:3* [ 1 ,2 ,3 ,4 ,10 ,6 ,9 ,8 ,5 ,7 ]* key:8* [ 1 ,2 ,3 ,4 ,5 ,6 ,9 ,8 ,10 ,7 ]* key:5* [ 1 ,2 ,3 ,4 ,5 ,6 ,9 ,8 ,10 ,7 ]* key:9* [ 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,10 ,9 ]* key:7* [ 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,10 ,9 ]* key:9* [ 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ]* key:9* [ 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ]* */