用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的简单采集数据入库程序
Jul 30 PHP
PHP中file_get_contents高?用法实例
Sep 24 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
PHP函数extension_loaded()用法实例
Jan 19 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 PHP
php 常用的系统函数
Feb 07 PHP
PHP基于面向对象实现的留言本功能实例
Apr 04 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
Mar 21 PHP
ThinkPHP5和ThinkPHP6的区别
Mar 31 PHP
php修改word的实例方法
Nov 17 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中str_replace函数使用小结
2008/10/11 PHP
php 文件上传实例代码
2012/04/19 PHP
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
2011/03/12 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
jQuery在iframe中无法弹出对话框的解决方法
2014/01/12 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
微信小程序实现留言板(Storage)
2018/11/02 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
[01:09:24]Ti4开幕式
2014/07/19 DOTA
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
python动态监控日志内容的示例
2014/02/16 Python
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
利用python实现数据分析
2017/01/11 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
Python实战购物车项目的实现参考
2019/02/20 Python
使用TensorFlow实现简单线性回归模型
2019/07/19 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
python实现的汉诺塔算法示例
2019/10/23 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
浅谈matplotlib默认字体设置探索
2021/02/03 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
英国探险旅游专家:Explore
2018/12/20 全球购物
区级文明单位申报材料
2014/05/15 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
校运会新闻稿
2015/07/17 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
Python数据分析之绘图和可视化详解
2021/06/02 Python
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android