用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读取IMAP邮件
Oct 09 PHP
php 表单数据的获取代码
Mar 10 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
PHP和.net中des加解密的实现方法
Feb 27 PHP
php 生成唯一id的几种解决方法
Mar 08 PHP
JavaScript创建命名空间的5种写法
Jun 24 PHP
php mb_substr()函数截取中文字符串应用示例
Jul 29 PHP
程序员的表白神器“520”大声喊出来
May 20 PHP
PHP内存缓存功能memcached示例
Oct 19 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
Sep 13 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 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自动跳转中英文页面
2008/07/29 PHP
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
php取出数组单个值的方法
2018/03/12 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
jQuery DOM操作小结与实例
2010/01/07 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
JavaScript中的闭包
2016/02/24 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
zepto.js 实时监听输入框的方法
2018/12/04 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
python PIL模块与随机生成中文验证码
2016/02/27 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
python write无法写入文件的解决方法
2019/01/23 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
python psutil模块使用方法解析
2019/08/01 Python
Python作用域与名字空间原理详解
2020/03/21 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
学生个人求职自荐信格式
2013/09/23 职场文书
质检部部长职责
2013/12/16 职场文书
土地转让协议书范本
2014/04/15 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android