选择排序的描述:
假设有n个数,比较的趟数为n-1次
每一趟得到最大值
把最大值的位置与最后一项的位置交换
<?php $arr = array(12,23,34,45,15,2,12); $len = count($arr); for($i = 0;$i < $len - 1;$i++) { //最大值的初始化 $max = $arr[0]; $index = 0; //求最大值 for($j = 0;$j < $len - $i;$i++)//-$i为减少之前比较好的数(已经固定好的数) { if($max < $arr[$j]) { $index = $j; $max = $arr[$j]; } } //交换最大值的位置和最后一项的位置 $temp = $arr[$index]; $arr[$index] = $arr[$len-$i-1]; $arr[$len-$i-1] = $temp; } ?>