用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中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
linux系统上支持php的 iconv()函数的方法
Oct 01 PHP
探讨php中遍历二维数组的几种方法详解
Jun 08 PHP
PHP类的封装与继承详解
Sep 29 PHP
详解php魔术方法(Magic methods)的使用方法
Feb 14 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
PHP标准类(stdclass)用法示例
Sep 28 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 17 PHP
wordpress自定义标签云与随机获取标签的方法详解
Mar 22 PHP
PHP实现网站应用微信登录功能详解
Apr 11 PHP
PHP开发api接口安全验证操作实例详解
Mar 26 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新手上路(八)
2006/10/09 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
php实现把数组按指定的个数分隔
2014/02/17 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
PHP加密解密类实例分析
2015/04/20 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
JS delegate与live浅析
2013/12/21 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
JQuery事件委托原理与用法实例分析
2019/05/13 jQuery
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
python怎么对数字进行过滤
2020/07/05 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
马来西亚在线购物市场:PGMall.my
2019/10/13 全球购物
一套SQL笔试题
2016/08/14 面试题
办公室保洁员岗位职责
2013/12/02 职场文书
《夜晚的实验》教学反思
2014/02/19 职场文书
创业大赛策划书
2014/03/01 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
预备党员对照检查材料思想汇报
2014/09/24 职场文书
学校隐患排查制度
2015/08/05 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python