用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 攻击方法之谈php+mysql注射语句构造
Oct 30 PHP
PHP 检查扩展库或函数是否可用的代码
Apr 06 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
Oct 29 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
php函数指定默认值方法的小例子
Dec 04 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 PHP
PHP使用递归方式列出当前目录下所有文件的方法
Jun 02 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
Feb 17 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
详解PHP序列化和反序列化原理
Jan 15 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
PHP 实现 WebSocket 协议原理与应用详解
Apr 22 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中批量修改文件后缀名的函数代码
2011/10/23 PHP
php查找任何页面上的所有链接的方法
2013/12/03 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
动态加载js的几种方法
2006/10/23 Javascript
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
jquery可见性过滤选择器使用示例
2013/06/24 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
Python open读写文件实现脚本
2008/09/06 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
django中forms组件的使用与注意
2019/07/08 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
解决pip install psycopg2出错问题
2020/07/09 Python
python实现简单的学生管理系统
2021/02/22 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
求职简历中自我评价
2014/01/28 职场文书
上班打牌检讨书
2014/02/07 职场文书
小学生评语大全
2014/04/18 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
2014年行政部工作总结
2014/11/19 职场文书
2014幼儿园教育教学工作总结
2014/12/17 职场文书
旷课检讨书范文
2015/01/27 职场文书
闪闪红星观后感
2015/06/08 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
nginx优化的六点方法
2021/03/31 Servers
sql中mod()函数取余数的用法
2021/05/29 SQL Server