用php实现选择排序的解决方法


Posted in PHP onMay 04, 2013

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

?>
PHP 相关文章推荐
随时给自己贴的图片加文字的php水印
Mar 16 PHP
PHP实现定时生成HTML网站首页实例代码
Nov 20 PHP
下拉列表多级联动dropDownList示例代码
Jun 27 PHP
php获取字段名示例分享
Mar 03 PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 PHP
php多个文件及图片上传实例详解
Nov 10 PHP
非常全面的php日期时间运算汇总
Nov 04 PHP
php关闭warning问题的解决方法
May 17 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
PHP Trait功能与用法实例分析
Jun 03 PHP
基于PHP 面向对象之成员方法详解
May 04 #PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 #PHP
PHP命名空间(Namespace)的使用详解
May 04 #PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 #PHP
基于php验证码函数的使用示例
May 03 #PHP
基于MySQL体系结构的分析
May 02 #PHP
PHP程序级守护进程的实现与优化的使用概述
May 02 #PHP
You might like
社区(php&amp;&amp;mysql)六
2006/10/09 PHP
PHP脚本的10个技巧(6)
2006/10/09 PHP
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
小谈php正则提取图片地址
2014/03/27 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
PHP多文件上传类实例
2015/03/07 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
Python生成pdf文件的方法
2014/08/04 Python
python版本的读写锁操作方法
2016/04/25 Python
详解Python之数据序列化(json、pickle、shelve)
2017/03/30 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
python实现微信防撤回神器
2019/04/29 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
大学生毕业的自我评价分享
2014/01/02 职场文书
《小熊住山洞》教学反思
2014/02/21 职场文书
团队拓展活动总结
2014/08/27 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
医院营销工作计划
2015/01/16 职场文书
继承权公证书范本
2015/01/23 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis