用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 相关文章推荐
PHP3 safe_mode 失效漏洞
Oct 09 PHP
ADODB类使用
Nov 25 PHP
精通php的十大要点(上)
Feb 04 PHP
PHP中实现中文字符进制转换原理分析
Dec 06 PHP
PHP 下载文件时自动添加bom头的方法实例
Jan 10 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
May 08 PHP
php模拟用户自动在qq空间发表文章的方法
Jan 07 PHP
基于PHP如何把汉字转化为拼音
Dec 11 PHP
微信红包随机生成算法php版
Jul 21 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
Jan 28 PHP
PHP convert_uudecode()函数讲解
Feb 14 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页面函数设置超时限制的方法
2014/12/01 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
laravel5.5添加echarts实现画图功能的方法
2019/10/09 PHP
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
详解vue路由
2020/08/05 Javascript
python实现斐波那契数列的方法示例
2017/01/12 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
Python猴子补丁知识点总结
2020/01/05 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
联强国际笔试题面试题
2013/07/10 面试题
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
合伙经营协议书范本
2014/04/18 职场文书
教师年度考核评语
2014/04/28 职场文书
大学活动总结格式
2014/04/29 职场文书
销售辞职信范文
2015/03/02 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android