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);

相关文章

  • 2017年最新PHP经典面试题目汇总(上篇)

    2017年最新PHP经典面试题目汇总(上篇)

    这篇文章主要介绍了2017年最新PHP经典面试题目汇总(上篇),非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • 解析phpstorm + xdebug 远程断点调试

    解析phpstorm + xdebug 远程断点调试

    本篇文章是对phpstorm + xdebug 远程断点调试进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 使用URL传输SESSION信息

    使用URL传输SESSION信息

    这篇文章主要介绍了使用URL传输SESSION信息的相关资料,需要的朋友可以参考下
    2015-07-07
  • 详解PHP框架EasySwoole

    详解PHP框架EasySwoole

    EasySwoole是一款常驻内存型的分布式swoole框架,专为API而生,支持同时混合监听HTTP、WebSocket、自定义TCP、UDP协议,且拥有丰富的组件,例如协程 连接池、TP风格的协程ORM、协程微信SDK等诸多组件。让开发者编写出多进程,可异步,高可用的应用服务。
    2021-05-05
  • PHP实现字节数Byte转换为KB、MB、GB、TB的方法

    PHP实现字节数Byte转换为KB、MB、GB、TB的方法

    这篇文章主要介绍了PHP实现字节数Byte转换为KB、MB、GB、TB的方法,结合实例形式分析了php针对字节数Byte的换算操作具体实现方法,涉及php数学运算相关函数的使用,需要的朋友可以参考下
    2017-08-08
  • PHP 上传文件的方法(类)

    PHP 上传文件的方法(类)

    一个很简单的,常用PHP上次方法,我是从类里给大家拿出来的,直接可以使用,也可以继续完善一下,大家参考一下
    2009-07-07
  • dede全站URL静态化改造[070414更正]

    dede全站URL静态化改造[070414更正]

    dede全站URL静态化改造[070414更正]...
    2007-04-04
  • PHP判断一个数组是另一个数组子集的方法详解

    PHP判断一个数组是另一个数组子集的方法详解

    这篇文章主要介绍了PHP判断一个数组是另一个数组子集的方法,结合实例形式分析了php循环遍历、array_diff及array_intersect函数等方法实现数组子集判断的相关操作技巧,需要的朋友可以参考下
    2017-07-07
  • 使用PHP下载CSS文件中的图片的代码

    使用PHP下载CSS文件中的图片的代码

    CSS文件中的图片在以前不知道该如何下载,而现在却可以使用php简单实现了,具体的如下,感兴趣的朋友可以参考下
    2013-09-09
  • PHP资源管理框架Assetic简介

    PHP资源管理框架Assetic简介

    Assetic 是一个 PHP 的资源管理框架,用于合并和压缩 CSS/JS 资源。可以减少浏览器对资源的请求数、降低资源下载大小、加速站点运行速度。需要的朋友可以参考下
    2014-06-06

最新评论