用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 SQL Injection with MySQL
Feb 27 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
ThinkPHP中redirect用法分析
Dec 05 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
PHP+jquery实时显示网站在线人数的方法
Jan 04 PHP
PHP实现过滤各种HTML标签
May 17 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
Oct 31 PHP
PHP并发查询MySQL的实例代码
Aug 09 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
让Laravel API永远返回JSON格式响应的方法示例
Sep 05 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空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
js confirm()方法的使用方法实例
2013/07/13 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
JavaScript中获取样式的原生方法小结
2014/10/08 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
jQuery简单实现页面元素置顶时悬浮效果示例
2016/08/01 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
vuejs如何配置less
2017/04/25 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
JS实现图片放大镜插件详解
2017/11/06 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
Vue 一键清空表单的实现方法
2020/02/07 Javascript
js编写简易的计算器
2020/07/29 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
Python and、or以及and-or语法总结
2015/04/14 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
利用python在excel中画图的实现方法
2020/03/17 Python
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
十八届三中全会宣传方案
2014/02/21 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
python 如何将两个实数矩阵合并为一个复数矩阵
2021/05/19 Python
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python