您的位置:首页 > 编程语言 > PHP开发

php之选择排序

2016-04-09 14:22 381 查看

php之选择排序

思路:

假设有n个数据,则需要n-1趟次找出最大值下标并交换;

每一趟的比较中,都需要从”剩余数据”中找出最大元素的下标,第一趟剩余数据为n个,第二趟剩余数据为n-1个…;

每一趟找出最大值的元素都和”剩余数据”的最后一个元素交换位置。

//直接插入排序
function selectSort($arr)
{
$len = count($arr);
for($i=0;$i<$len-1;$i++)
{
$maxpos = 0;//最大值下标,先假定是第一个
for($j=0;$j<$len-$i;$j++)
{
if($arr[$j]>$arr[$maxpos])
{
$maxpos = $j;
}
}

// 每一趟找出最大值的元素都和"剩余数据"的最后一个元素交换
$temp = $arr[$maxpos];
$arr[$maxpos] = $arr[$len-$i-1];
$arr[$len-$i-1] = $temp;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: