用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 相关文章推荐
PHPLog php 程序调试追踪工具
Sep 09 PHP
如何设置mysql允许外网访问
Jun 04 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
sae使用smarty模板的方法
Dec 17 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
两千行代码的PHP学习笔记汇总
Oct 05 PHP
php常用hash加密函数
Nov 22 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
php验证身份证号码正确性的函数
Jul 20 PHP
深入理解PHP类的自动载入机制
Sep 16 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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基础知识:控制结构
2006/12/13 PHP
在 Laravel 6 中缓存数据库查询结果的方法
2019/12/11 PHP
jquery 表单取值常用代码
2009/12/22 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
dts文件中删除一个node或属性的操作方法
2018/08/05 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
2018/09/14 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
Python 实现简单的电话本功能
2015/08/09 Python
Python中模块与包有相同名字的处理方法
2017/05/05 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
python实现mean-shift聚类算法
2020/06/10 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
Opodo意大利:欧洲市场上领先的在线旅行社
2019/10/24 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
应届毕业生应聘自荐信范文
2014/02/26 职场文书
中国好声音华少广告词
2014/03/17 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
指导老师鉴定意见
2015/06/05 职场文书
教师培训简讯
2015/07/20 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
合作协议书格式范本
2016/03/21 职场文书
python scipy 稀疏矩阵的使用说明
2021/05/26 Python
vue的项目如何打包上线
2022/04/13 Vue.js