php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
更新时间:2011年08月09日 12:09:51 作者:
一次选定数组中的每一个数,记下当前位置并假设它是从当前位置开始后面数中的最小数min=i,从这个数的下一个数开始扫描直到最后一个数,并记录下最小数的位置min,扫描结束后如果min不等于i,说明假设错误,则交换min与i位置上数。
复制代码 代码如下:
<?php
/**
* 简单选择排序 simple selection sort
*
* 原理: 一次选定数组中的每一个数,记下当前位置并假设它是从当前位置开始后面数中的最小数min=i,从这个数的下一个数开始扫描直到最后一个数,并记录下最小数的位置min,扫描结束后如果min不等于i,说明假设错误,则交换min与i位置上数。
*/
function sort_simple_selection($list)
{
$len = count($list);
if(empty($len)) return $list;
for($i = 0;$i < $len; $i++)
{
$min = $i;
for($j = $i + 1; $j < $len; $j++)
{
//if($list[$j] > $list[$min]) // 从大到小
if($list[$j] < $list[$min]) // 从小到大
{
$min = $j;
}
echo implode(',',$list)."#pos=".($min + 1)." min=".$list[$min]."<br/>";
}
if($min != $i)
{
$temp = $list[$i];
$list[$i] = $list[$min];
$list[$min] = $temp;
}
echo "-------------------------<br/>";
}
}
$list = array(4,3,2,1,5,7,3,7);
$list = sort_simple_selection($list);
相关文章
如何在thinkphp中使用windows计划任务定时执行php文件
这篇文章主要介绍了如何在thinkphp中使用windows计划任务定时执行php文件,对定时执行感兴趣的同学,可以参考下2021-04-04处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
本篇文章是对解决(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题进行了详细的分析介绍,需要的朋友参考下2013-07-07phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
今天帮客户配置phpmyadmin,一直有“链接表的附加功能尚未激活”的问题,登陆phpmyadmin后,会在底部显示“链接表的附加功能尚未激活。要查出原因,请点击此处。”的提示。2012-03-03
最新评论