php数据结构 算法(PHP描述) 简单选择排序 simple selection sort

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?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 防止表单重复提交的方法

ThinkPHP 防止表单重复提交的方法

然而有一种情况,是防止不了的: 用户提交表单以后,点击浏览器后退按钮返回表单页面,这个时候浏览器会直接从缓存中取出页面,因此token验证一定是通不过的。 网上有许多种办法可以绕过这个...

Linux下实现PHP多进程的方法分享

PHP多进程:使用PHP的Process Control Functions(PCNTL/线程控制函数) 函数参考可见:http://www.php.net/manual/zh/ref....

php常用字符串String函数实例总结【转换,替换,计算,截取,加密】

本文实例总结了php常用字符串String函数。分享给大家供大家参考,具体如下: nl2br 功能:化换行符为<br> <?php $str = "cat...

PHP+Ajax实现无刷新分页实例详解(附demo源码下载)

PHP+Ajax实现无刷新分页实例详解(附demo源码下载)

本文实例讲述了PHP+Ajax实现无刷新分页的方法。分享给大家供大家参考,具体如下: 注:这里使用到的一些类库在前面文章都能找到源代码,因此为了缩短文章篇幅,都指明链接所在。 本文讲解内...

php中用foreach来操作数组的代码

foreach()有两种用法: 复制代码 代码如下: foreach(array_name as $value) { statement; } 这里的array_name是你要遍历的数...