用php实现选择排序的解决方法
更新时间:2013年05月04日 16:24:51 作者:
本篇文章介绍了,使用php实现选择排序的解决方法。需要的朋友参考下
1,定义:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
参考代码:
复制代码 代码如下:
<?php
//选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
function selectSort(&$arr){
//定义进行交换的变量
$temp=0;
for($i=0;$i<count($arr)-1;$i++){
//假设$i就是最小值
$valmin=$arr[$i];
//记录最小值的下标
$minkey=$i;
for($j=$i+1;$j<count($arr);$j++){
//最小值大于后面的数就进行交换
if($valmin>$arr[$j]){
$valmin=$arr[$j];
$minkey=$j;
}
}
//进行交换
$temp=$arr[$i];
$arr[$i]=$arr[$minkey];
$arr[$minkey]=$temp;
}
}
$arr=array(7,5,0,4,-1);
selectSort($arr);
print_r($arr);
?>
相关文章
ThinkPHP连接数据库操作示例【基于DSN方式和数组传参的方式】
这篇文章主要介绍了ThinkPHP连接数据库操作,结合实例形式分析了thinkPHP基于DSN方式和数组传参的方式进行数据库连接的实现步骤与属性设置、控制器、模板使用等相关操作技巧,需要的朋友可以参考下2018-03-03Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
今天小编就为大家分享一篇Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy(),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-10-10Zend Framework教程之Zend_Config_Xml用法分析
这篇文章主要介绍了Zend Framework教程之Zend_Config_Xml用法,结合实例形式较为详细的分析了Zend_Config_Xml的功能,使用方法及相关注意事项,需要的朋友可以参考下2016-03-03
最新评论