用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+Html+缓存
Dec 20 PHP
php5 pdo新改动加载注意事项
Sep 11 PHP
在JavaScript中调用php程序
Mar 09 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
Jan 06 PHP
深入PHP中慎用双等于(==)的详解
Jun 06 PHP
php中autoload的用法总结
Nov 08 PHP
php生成RSS订阅的方法
Feb 13 PHP
php中使用base HTTP验证的方法
Apr 20 PHP
PHP实现linux命令tail -f
Feb 22 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 PHP
PHP之多条件混合筛选功能的实现方法
Oct 09 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
php数组转成json格式的方法
2015/03/09 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
Vue实现按钮旋转和移动位置的实例代码
2018/08/09 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
iview form清除校验状态的实现
2019/09/19 Javascript
学生信息管理系统Python面向对象版
2019/01/30 Python
django url到views参数传递的实例
2019/07/19 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
大学生个人推荐信范文
2013/11/25 职场文书
四好少年事迹材料
2014/01/12 职场文书
通用自荐信范文
2014/03/14 职场文书
保护环境倡议书300字
2014/05/19 职场文书
岗位工作说明书
2014/07/29 职场文书
青年标兵事迹材料
2014/08/16 职场文书
2014教师年度工作总结
2014/11/10 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
如何判断pytorch是否支持GPU加速
2021/06/01 Python
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript